■■■
THE DELL
COMPUTER GAMES SERIES
lf> o
O) in
-i<
CD
O
CO
LLi
Q
F
ATARI
MORE THAN 25 FASCINATING, ORIGINAL
FULL-COLOR PROGRAMS FOR
ARCADE-STYLE GAMES, BRAIN TEASERS,
WORD GAMES, PUZZLES, AND MUSIC TO
CHALLENGE AND ENTERTAIN YOU
Paul Bunn
ImEI
■■■mi
■■■■I
1
1
"
GAMES
FOR YOUR
ATARI
COMPUTER
-
THE DELL COMPUTER GAMES SERIES
GAMES FOR YOUR TIMEX-SINCLAIR 1000
GAMES FOR YOUR TIMEX-SINCLAIR 2000
GAMES FOR YOUR VIC20
GAMES FOR YOUR ATARI COMPUTER
"
THE
DELL
COMPUTER
GAMES
SERIES
GAMES
FOR YOUR
ATARI
COMPUTER
Paul Bunn
A DELL TRADE PAPERBACK
A DELL TRADE PAPERBACK
Published by
Dell Publishing Co., Inc.
1 Dag Hammarskjold Plaza
New York, New York 10017
GAMES FOR YOUR ATARI COMPUTER was first published in
Great Britain by Virgin Books Ltd. as part of the Virgin Computer
Games Series.
Copyright © 1983 by Interface/Virgin Books
All rights reserved. No part of this book may be reproduced or
transmitted in any form or by any means, electronic or
mechanical, including photocopying, recording, or by any
information storage and retrieval system, without the written
permission of the Publisher, except where permitted by law.
Dell » TM 681510, Dell Publishing Co., Inc.
Printed in the United States of America
First U.S.A. printing — November 1983
Library of Congress Cataloging in Publication Data
Bunn, Paul.
Games for your Atari computer.
(The Dell computer games series)
Bibliography.
1. Computer games. 2. Atari computer — Programming.
I. Title. II. Series.
GV1469.2.B8 1983 794.8'2 83-14356
ISBN 0-440-52800-3
"
TO MY FAMILY AND FRIENDS
"
■
TIM HARTNELL— SERIES EDITOR
Tim Hartnell is a leading computer expert and jour-
nalist, who has contributed extensively to the Tech-
nical Consumer Press. He is also the author of
several books including Getting Acquainted With
YourZX81, Let Your BBC Micro Teach You to Program
and Programming Your ZX Spectrum.
PAUL BUNN— THE AUTHOR
Paul Bunn is a 16-year-old schoolboy studying for his
"O" levels, and has owned an Atari for one and a half
years. He has also written Total Control, a program-
ming manual for the Atari, published by Interface.
SUE WALLIKER— THE ILLUSTRATOR
Sue Walliker is a freelance illustrator.
ACKNOWLEDGEMENTS
The author would like to thank the kind staff of
Micro-C in Fishponds, Bristol, who lent him a printer
while his was being repaired.
CONTENTS
Editor's Introduction 13
Author's Introduction 15
Skydiver 17
Tic-Tac-Toe 23
Race 29
Lunar Landing 33
Decision Maker 39
Safe Cracker 42
Tank Battle 56
Digit Dodge 60
Grand Prix 2 62
City Bomb 64
Engulf 68
Color Pattern 72
Color Puzzle 73
String Pattern 77
Sound Program 78
Display List Interrupt Example 80
Reaction Timer 81
Morse Code 83
Compliment Generator 85
Space Docker 86
Ski Run 92
How to Write Better Programs 99
Glossary 107
Bibliography 121
11
Editor's
Introduction
Your computer is waiting to challenge you. Moving graphics
games, brain stretchers, word games and puzzles are all here
and ready to entertain you.
A wide variety of games are included in this book. The
programs have been written by some of the most talented
young programmers working in this country at the moment,
and represent a variety of approaches to solving program-
ming problems.
An examination of the listings should teach you many
tricks and techniques to apply to your own programming.
And once you have mastered the programs in their present
form, you might want to try your hand at improving them.
There is no such thing as a "perfect program," so these
games are sure to benefit from your programming skill.
All that now remains is for you to turn the page and enter
the programs. I can only hope that you enjoy playing the
games as much as we did when preparing this volume.
TIM HARTNELL, series editor
London
March 1983
13
Author's
Introduction
I have tried in this book to give as many programs as possible
which fully use the capabilities of the Atari 400/800 home
computers. Many of the programs use redefined character
sets, some use a fine capability of the Atari computers called
player-missile graphics.
I hope you enjoy playing the games, though you will
benefit much more if you look at the listings and try to see
how they work. Moreover, you can take ideas from these
programs and use them in your own programs.
PAUL BUNN
Keynsham, Avon
January 1983
IS
SKYDIVER
(Uses the Joystick)
This program uses redefined characters and player-missile
graphics. The object of the game — which should not be
played by anyone scared of heights! — is to get the highest
score possible in 10 jumps.
Your plane flies across the top of the screen: to jump out
you press the red trigger button, and you will then descend
at a rapid speed. When you wish to slow up, pull the joystick
down and your 'chute will open. You receive bonus points if
you manage to land safely on the landing pad. This bonus
depends on when you open your parachute — the later you
open it the better your score will be. Below a certain point,
however, you cannot open the 'chute. A score of around
12,000 is reasonable.
Happy landing!
-I I L
T
18 • GAMES FOR YOUR ATARI COMPUTER
26 REN « PAUL BUNN DECEflBER 1982 *#
£5 IF PEEK< £03 >=PEEK< 196 >-8 THEN 40
30 GOSUB 10000: REH INITIALIZATION
40 DIH PLfiNE*<l>»rifiN$<l)#CHUTE*<l>#BflSE*
t 1 .J*LINE$'*. I . ::
5S PLANE $=CHRi< OSC< " 4: " >+ 1 £3 > : HAN ■$= " ! " : L I
NE$=CHR$< ASC< "#" >+36)
etc ■—-! .~ \i ilWD i Tt**i 1 rt
J- J rUn t_-M| if- — J, i i_t l k i
SO GRAPHICS 17: SETCOLOR 2, 12, 10: POKE 16 ,
64: POKE 53774*64
Si POKE 53277,3: REM % ENABLE PLAVER HISS
I LE_ GRAPHICS *
62 POKE 553*46: REH % DOUBLE LINE RESOLUT
ION FOR PL A VERS *
53 POKE 54£73,PEEK<£84>:REH % TELL ANTIC
WHERE FT'l GRAPHICS Ah;E IN RAH *
54 POKE 53256,3: POKE 53257,3: REH * QUADR
OUPLE SIZE FOR CLOUDS %
65 POKE 704,8: POKE 705, 14: REH % COLOUR F
OR CLOUDS %
bb ft3 = INT<L KND'% y j% 100 !?+75: POKE 53248, X3:R
EH tt RANDOn HORIZONTAL POSITION FOR CLO
ud i m
67 X4= I NT'' RNO< 8 >t 1 @0 >+75 : POKE 53249 , X4 : R
En ttRANDOn HORIZONTAL POSITION FOR CLO
ij|_i ^ -V--V-
68 POKE 8£3,l:REn * SET PRIORITY BETNEEN
PLAVERS AND PLAVFIELDS t
68 HOKE 53278,255: REH t CLEAR COLLISION
DETECTION REGISTERS *
70 POKE 756, PEEK>: 203 >:SETCOLOR 3,3,4: REH
t POINT TO NEW CHARCTER SET IN RAH INST
EAD OF HON *
SO X= 1 : BASE*= " # " : CHUTE$=CHR$< ASC< " "/. " >+ 1 £
dj RE? ; ; : ■: rRiNi Bh&E LlNfc. %'M
80 FOR P=0 TO 18
180 POSITION P,£3
110 PRINT #6iLINE$i
i£0 NEXT P
130 BfiSE=IHT< RND< OJ'SIS >+2
140 POSITION BASE,££
SKYDIVER • 19
158 ? #6iBflSE$
155 REP1 ZZ P1HIN PRGGRHH LOOP ZZ
166 POSITION X,0:? #GiPLHNE$: POSITION X-
1,8:? #Si" " "~
170 X=X+UIF 'AitS THEN 190
180 POSITION X-1,8:? #6i" ":X=1
185 REH ZZ JOYSTICK ROUTINE ZZ
ISO SI =ST I CK( O > ' S2=STR I G< 8 )
191 X3=X3-3slF X3<28 THEN X3=228
132 X4=X4+3:IF X4>228 THEN X4=28
193 POKE 53248* X3 5 POKE 53249, X4
280 IF PlHN=8 AND S2=8 THEN GOSUB 1000
205 IF P]fiN=l THEN LOCATE X2j-V2#2
210 IF PlHN=l THEN POSITION X2*V2s? #SiPifi
m
220 IF CHUTE=1 THEN POSITION X2,V2-ls? #
6iCHUTE$^F0R_P=l TO 188: NEXT P
£22 IK PEEK< 53252 ><>8 OR PEEK< 53253 X >0
THEN 2088
£25 IF V2=22 HND P1hN=1 THEN 2008
238 0X=X2 : X2=X2+< S 1 =7 ;■-< X2 > 1 3 )
240 0V=Y2 : X2=X2-< S 1 = 1 1 >+<: X2< 1 ) : V 2= V 2+ 1
250 IF SI = 13 HND PifiN=l HND CHUTE=8 AND V
2<19 THEN CHUTE=isFOR T=0 TO 50: SOUND 8,
T, 128,15: NEXT T: SOUND 0,0,0,0s C=V2
&'j-j Lr i'lHi'i— kl< I HL.N i^U
260 POSITION OXjOV-Is? #6;' ! r!
£70 POSITION 0X,Y2-l:? #6;" "
993 REH ZZ PlflN OPENS CHUTE ZZ
1000 PlfiN=i: ¥2=2:X2=X
1818 FOR P=38 TO 8 STEP -2: SOUND 8,P,128
,15: NEXT p: SOUND 8,0,8,0: RETUKH
£000 IF 2=RSOC BfiSE$ ) THEN GOTO 3888
2818 FOR G=8 TO 255
2020 SOUND 0,6,18,15: POKE 708 , 6
2030 NEXT 6
£040 FOR 6=255 TO 8 STEP -3
2858 SOUND 8,6,18,15: POKE 788 , 6
£868 NEXT 6
2878 SOUND 8,6,8,8
20 • GAMES FOR YOUR ATARI COMPUTER
2888 POSITION 6,0: POKE 708,184
2890 ? #6;">>>>>SPLHT<<<<<"
2095 ? #6; "SCORE: "; SCORE
2100 ? #6:? #6 i "PRESS start to PLAY"
2110 POKE 53273 #8
2120 IF PEEKC 53273 ><>6 THEN 2116
2130 RUN
3880 POSITION 0,0
3010 IF CHUTE=1 THEN 3500
3020 ? #6 ; "VOU DID NOT HfiUE"
3838 ? #6; "your chute open"
3840 ? #6:? #6i" OHCH ..."
3O50 ? #6
3060 FOR P=0 TO 150 STEP 2
3070 SOUND 0jPj12#15
3888 NEXT P
3830 SOUND 0,0,8 ,
3100 GOTO 2835
3588 ? #Si"^elI done ..."
3518 ? #6* "YOU IWfiSED TO LAND"
3520 ? #6; "ON THE PHD NITH VOUR"
3530 ? #6 i "CHUTE OPEN ..."
3540 POS I T I OH 3,10:? #R ; " sc ore : '■'•
3550 B0NUS=C#75
35S0 FOR P=0 TO BONUS STEP 5
3570 POSITION 9,10:? #SiSC0RE+P
3580 SOUND , P$25 ,18,15
3598 NEXT P
3S8y 8C0RE=SCQRE+B0NUS
3618 SOUND 8,8,0,0
3620 P"!ftN=0:CHUTE=0:NEXT JUP1P
3630 GRAPHICS 2: POKE 53248,0: POKE 53248,
3640 ? #6;"V0U'UE SUCCESSFULLY"
3650 ? #6;'* LANDED 10 TINES"
3660 ? #b
3670 ? #8 i "your final score :-"
3680 ? #6j" "i SCORE
3690 SE7C0L0R 2,0,0
3700 FOR P=5 TO 280 STEP 3
"
SKYDIVER • 21
3716 FOR 6=P-5 TO P+5
3728 SOUND 8..Gj1@j15
3730 NEXT G
3748 SETCOLOR 1,RND<0>*15#8
3758 NEXT P
3760 SOUND 8,8,8,8
3770 END
iOOOO FWWT=PEEK(l@6>-8!A=256*RfB!
10010 GRAPHICS O
1O02O SETCOLOR 4 *3#2: SETCOLOR 2,3,2
10030 PRINT CHR$( 127 )i "PLEASE NAIT A LI I
TLE WHILE"
10040 PRINT CHK$< 127;'i"*:?::t:tttt:^**»:^^
10O50 POKE 752,1: PRINT
i0O55 RET1 *$ COPV CHARACTER SET FRQF1 ROP1
IN ! U hiAi'l -V--V-
10OS0 FOR P=0 TO 1023
10070 POKE A+P,PEEK<57344+P>
100SO SOUND 8,PEEK< 53778), 18,2
1O0S0 NEXT P: SOUND 0,0,0,0
10100 READ ei
1011O IF X<8 THEN POKE 283, RAPT: GOTO 1022
10120 FOR F-0 TO 7
10130 READ V
10140 rOKt < X£8 )+A+P , V
10150 NEXT P
L0168 SOTO 10100
101G5 REP1 « DATA FOR REDEFINED CHARACTE
rs n.
10170 DATA 1, 153, 1SS, 153, 126, SO, 68,66,12
18138 DATA 5,0,0,0,24,60,126,195,129
4j-jiijh nnTN "7 -~icrcr --etc- -ir-c- --.err --crcr - ( irr -l 1 ^^
, ci55
1O200 DATA 6,16,6,132,134,255,2,4,8
1021O DATA -1
1022O R=RAP1-S
10225 REP1 *# CLEAR OUT PLAVER P1ISSILE GR
APHICS flEPlORV tt
22 • GAMES FOR YOUR ATARI COMPUTER
18238
FOR P=512 TO 76S
16240
POKE R*256+p,0:HEXT P
10245
REFI ** POKE IN DflTfl FOR
ERS *>
10250
FOR F-0 TO 7
1 0260
READ X
10270
POKE RS256+70+P+5i2,K
10280
POKE RS25G+50+P+640 1 H
1 0290
NEKT P
1 0300
POKE 204 ,R
CLOUD PLflV
10310 RETURN
10315 REP1 ## DflTfl FOR P. PI. GRAPHICS :
10320 DflTfl 16j 126,127,255, 12b, 62, 28, <
TIC-TAC-TOE
(Keyboard)
This game, written by Roland Marriott, requires a machine
with a 24K memory; it can be played either against the
computer or a friend. To win you must get four squares of
the same color in a row.
There are four planes from left to right, labeled A, B, C
and D. To make your move, first type a plane letter (A-D).
Then enter two digits to correspond with the position on the
plane. They are numbered left to right from 01 to 16, like
this:
13
14
15
16
09
10
11
12
05
06
07
08
01
02
03
04
Here are examples of moves, though you should note that
RETURN does not have to be pressed:
D15
A05
B10
C02
B16
When you are asked how many players want to play, press
"1" if you want to play against the computer, otherwise press
"2."
23
24 • GAMES FOR YOUR ATARI COMPUTER
1 REPl t 3D NOUGHTS AND CROSSES By *
2 REPl * ROLAND NflRRIOTT X
4 GOSUB 3800
5_Dj.Pl SPACEXS4 f 2>:DIPl P1ARKX S4 ') : D I PI BLOB<
06 #J A* D I il HZ\ 40 )
5 CL=0
7 GOSUB S0O0
10 GRAPHICS 7+ IS: COLOR 1
17 SETCOLOR 2, 12,8: SETCOLOR 4*0*3
I S^SETCOLOR 1,4,8: SETCOLOR 8 , 2 , S : SETCOLO
K 3 , ■*> .' o
20 FOR X=6 TO 129 STEP 43
38 FOR V=S5 TO 38 STEP -1
48 PLOT X,V:QRAHT0 X+30,¥ -38
cfj l IfTVT ! !
■-»-' ilC:'-. ! T
50 NEXT X
51 PLOT 0,28:DRAHT8 23,8: PLOT 8,27:DRAMT
S3 PLOT RT+4i,35:DRAHT0 RT+41 j3@:DRAWT0
RT+71#@:PL0T Rm-48,35:DRANT8 RT+48,38:DR
AWTO KT+/y,y
B4 Nb.! : '*i 1 NT
65 COLOR 8: SETCOLOR 4,3,2
SB FOR Z=8 TO 123 STEP 43
78 FOR V=31 TO 31 STEP -28
72 FOR X=l TO 31 STEP 3
74 pop; pj=0 TO 1
7S8 PLOT Z+X+A,¥-A-X+3:DRAHT0 Z+X+A,V-A-
788 NEXT A
858 NEXT X
388 NEXT V
358 NEXT Z
1888 F8R P=l T8 84: READ H,J
1 ft 1 8 SPACE< P , 1 ;'=H : SPACE( P , 2 >= J
1812 NEXT P
1815 IF PEEKX 784 )=255 THEN 1815
TIC-TAC-TOE • 25
101b CLOSE #i:OPEN #1 ,4,0, M K: H :GET #1*H
1817 IF_W<65 OR H>68 THEN POKE 784,255:0
0T0 1015
1013 IF H=65 THEN N=8: IF M=66 THEN N=16:
IF (4=67 THEN N=32
1019 IF N=66 THEN N=16
1020 IF N=67 THEN N=32
1021 IF H=68 THEN N=43
1023 POKE 764,255
1024 IF PEEK< 784 >=255 THEN 1024
1025 CLOSE #5: OPEN #5,4,0, "K: ": GET #5,2
1028 IF 2< 48 OR 2>49 THEN POKE 784,255:8
\ 1024
!Uii7 POKE 7b4#255
1823 CLOSE #4: OPEN #4,4,8, "K: ": SET #4,HH
:IF NH<43 OR HH>57 THEN POKE 764* 255! GOT
1027
1833 REP1 FOR TR=0 TO 2
1 034 SP=N+ 1 0£< 2-48 HWH— 48 : LOCHTE SPftCE< S
P,I >,SPHCE<SP,2>,GH: IF 6HO0 THEN GOTO 1
1^35 CL = LL+1: IF CL=2 THEN CL=0
1636 FOR RY= 15 TO STEP -1: COLOR CRV+CL
+2 ) • SETCOLOR 1,3,4
1037 FOR TR=8 TO 2
1033 PLOT SF'HCE< SP,1 )+TR,SPHCE< SP,2>-TR:
DRflWTO SPHCEC SP , 1 >+TR , SF'HCE< SP , 2 >-TR-3
1839 NEXT TR:NEXT RV
1848 CLOSE #1
1842 FOR PG=1 TO 64
1844 LOCATE SPfiCE< PQ, 1 >jSPfiCE< PQ,2 >,U
1846 PiflRK<PQ>=U!NEXT PQ
1056 C=CL+2
Myy h=1: 8=16: 0=16: E=l:GOSUB 1400
1 1 05 H= 1 : B=6 1 : 0= 1 : E=4 : GOSUB 1 400
1110 fl= 1 : 8= 1 3 : 0= 1 7 : E=4 : GOSUB 1 400
1115 H=4 : B= 1 6 1 0= 1 5 : E=4 : GOSUB 1 480
1120 H=l:ti=4:u=20:E=l: GOSUB 1400
1125 fi= 1 3 : B= 1 6 : D= 1 2 : E= 1 : GOSUB 1 400
1138 fi= 1 : B= 1 : 0=2 1 : E= 1 : GOSUB 1 488
1 1 35 fl= 1 3 : B= 1 3 : D= 1 3 : E= 1 : GOSUB 1 400
26 • GAMES FOR YOUR ATARI COMPUTER
I 1 4@ 0= 1 6 : B= 1 6 : D= 1 1 : E= 1 : SGSUB 1 489
1145 H=4:B=4:D=i9:E=l:G0SUB 1460
1 1 58 fl= 1 : B=49 : D=5 : E= 1 6 : SOSUB 1 408
1155 H=4:B=52:D=3:E=16:S0SUB 1488
1 1 60 fi= 1 : B=4 : D=4 : E= t : GOSUB 1 408
1 1 65 R= 1 7 : B=28 : D=4 : E= 1 : SOSUB 1 488
1 1 78 H=33 : B=36 : D=4 : E= 1 : SOSUB 1 488
1 1 75 H=33 : B=36 : D=4 : E= 1 : GOSUB 1 480
1 1 80 H=49 : B=52 : D=4 : E= 1 : GOSUB 1 400
i299 IF PLPVER=1 HMD CLOG THEN GOTO 158
85REP1 IF CL=8 THEN GOTO 1815
1388 GOTO 1815
1488 FOR PQ=H TO B STEP E
1418 IF nHRKXPQ>=C HND ITftRK< PQ+D >=C AND
FlflRK<PQ+2*D>=C HND NfiRK< PQ+3*D )=C THEN G
OSUB 1458
1428 NEXT PQ
1438 RETURN
1458 PLOT SPHCE< PQ,1 Hl*SPfiCE< PG,2>-1:0R
flWTO SPACED PQ+3&D * 1 >+ 1 j Si-flCEi PQ+3*D , 2 >- 1
: RETURN
1588 REP! MACHINE LOGIC
1688 FOR pQ=l TO 64
1685 LOCATE SPfiCE<PQ#l>#SPflCE<PQ#2>#U
1606 IF 0=2 THEN U=18
1688 IF 0=3 THEN 0=58
1618 rTflRK<PQ>=U:NEXT PQ
1615 H=@
1628 fi=l:B=16:Q=18:E=l: GOSUB 1700
1 625 P= 1 : B=6 i i D= 1 : E=4 : GOSUB 1 788
1 638 H= 1 : B= 1 3 : 0= 1 7 : E=4 : GOSUB 1 788
1 635 H=4 : B= 1 6 : 0= 1 5 : E=4 : GOSUB 1 788
1 648 A= 1 : B=4 : 0=28 : E= 1 : GOSUB 1 788
1 645 fl= 1 3 : B= 1 6 : D= 1 2 : E= 1 : GOSUB 1 788
1 658 H= 1 : B= 1 : 0=2 1 : E= 1 : GOSUB 1 788
1 655 fl= 1 3 : B= 1 3 : D= 1 3 : E= 1 : GOSUB 1 788
1 660 H= 1 6 : B= 1 6 : 0= 1 1 : E= 1 : GOSUB 1 700
1 665 A=4 : B=4 : D= 1 8 : E= 1 : GOSUB 1 788
1 678 A= 1 : B=43 : 0=5 : E= 1 6 : GOSUB 1 788
1 675 A=4 : B=52 : 0=3 : E= 1 6 : GOSUB 1 788
1 688 A= 1 : B=4 : 0=4 : E=l : GOSUB 1 788
TIC-TAC-TOE • 27
1 682 fl= 1 7 : B=28 : D=4 : E= 1 : GOSUB 1 796
1686 0=33 :B=36:D=4:E=l: GOSUB 1706
1 688 fi=43 : B=52 : D=4 : E= 1 : GOSUB 1 760
1G38 GOTO 1740
170O FOR PQ=fl TO B STEP E
1705 H=H+1
1710 SUPl=nHRK( PQ HHHRKX pq+d >+m=iRK< pq+2*d
HPIHRKC PQ+32D )
1720 IF SUP1=30 THEN GOTO 1830
1 725 BLOB< H , 1 >=SUP1 : BLOB< H , 2 >=PQ : BLOBC H , 3
>=D
1730 NEXT PQ: RETURN
1740 FOR TZ=1 TO H: IF BLOB-: TZ, 1 >=158 THE
1745 NEXT T2
174G VZ=0:FOR TZ=1 TO H
1748 IF BL8B<TZ,1>=28 OR BLOB< TZ, 1 >=I80
THEN GOSUB I860
1758 NEXT TZ:IF VZOS THEN GOTO 1768
1755 GOTO 2856
1768 FUR TZ=1 TO VZ:FOR PZ=2 TO .:VZ-1>
1765 IF HZ< TZ >=HZ< PZ > AND TZOPZ THEN SP
=HZ< TZ ) : GOTO 1 835
1766 NEXT PZ:NEXT TZ
1778 IF VZ<>8 THEN SP=HZ< VZ >'. GOTO 1835
1838 FOR TK=8 TO 3: IF HfiRKtt PQ+TKSD >=8 TH
EN SP=PQ+TKSD:60T0 1835
1835 NEXT TK
1858 REP1 DEFENCE
1855 FOR TK=8 TO 3: IF HhRKX BLOB< TZ,2>+TK
*BLQB<TZ,3>)=0 THEN SP=BLuB<TZ,2>+TK*BL0
B<T2#3>!S0T0 1035
1857 NEXT TK
1868 F8R P=8 TO 3
1863 IF nHRK<BL0B<TZ,2;+PSBL0B<TZ,3}>=8
THEN VZ=VZ+ 1 : H2< VZ >=BLOB< TZ * 2 HP#BLOB< TZ
,3)
1865 NEXT P: RETURN
1888 GOTO 2850
1858 GOTO 2050
28 • GAMES FOR YOUR ATARI COMPUTER
2950 SP=INT<64#PMK1)+1}:IF P1ARKX SP >=0 T
HEN GOTO 1035
2055 SOTO 2358
3000 RET! COMER PAGE
3020 GRAPHICS 2+16:SETC0L0R 4,13,2
3030 POSITION 3,1:? #£;,-" ###############"
3040 POSITION 3,2:? #6; "# 3D NOUGHTS #"
3050 POSITION 3,3:? #6;"# AND CROSSES #"
3052 POSITION 3,4:? #6,-"# BV ROLAND #"
3054 POSITION 3,5:? #6;"# HARRIOTT #"
30S0 POSITION 3,6:? #6,- "###############"
3070 POSITION 1,?:? #6; "PRESS start. JO P
LAV"
30SO IF PEEK< 53279 >=6 THEN RETURN
30SO GOTO 33S@
5O00 DATA 1,93,10, 84 ,19,75, 28 , 66
5010 DATA 1,73,10,64,19,55,28,46
— ;--~--~4 r-:-iT-i i c~T « i~4 A A i O "7^" ■~ , ~ , ~'C'
DtO£» LiMiM I i Jl' , 1 O , 1-4 , 1 d , •-•■_' , £-C> i Lib
503O DATA 1,33,10,24,19,15,28,6
5040 DATA 44,93,53,84,62,75,71,66
5050 DATA 44,73,53,64,62,55,71,46
5060 DATA 44,53,53,44,62,35,71,26
5070 DATA 44,33,53,24,62,15,71,6
5080 DATA 87 , 93 , 96 , 84 , 1 05 , 75 , 1 1 4 , 66
5090 DATA 87 , 73 , 96 , 64 , 1 05 , 55 , 1 1 4 , 46
5100 DATA 87,53,96,44,105,35,114,26
5110 DATA 87,33,96,24,105,15,114,6
5120 DATA 130,93,139,84,148,75,157,66
5130 DATA 130,73,139,64,148,55,157,46
5140 DATA 130,53,139,44,148,35,157,26
5150 DATA 130,33,139,24,148,15,157,6
6000 GRAPHICS 2+16:? #6 ,-"2 HUF1AN PLAYERS
it
6010 ? #6; "OR 1 HUP1AN UERSUS me"
KFI20 ? #6i" (TVPE 1 OR 2 >"
6030 OPEN # 1 , 4 , O , " K : " : GET # 1 , PI : I F PK 49
R n>50 THEN POKE 764,255: CLOSE #l:GOTO 6
030
6040 PLAVER=Pl-48: CLOSE #1
6050 RETURN
RACE
(Joystick)
This game was written by Paul Dunning. In it you race against
three other cars, all trying to cover as many miles as possi-
ble. Use the joystick to maneuver your car through the
course. By pressing the red fire button on the joystick you
can shift gears. The program uses machine code, so SAVE it
before attempting to RUN the program.
"
O-lA
^3
33
33
l5St
w,
29
30 • GAMES FOR YOUR ATARI COMPUTER
2 DIP] S<4),G*': 18),E$< 180)
3 GRAPHICS 5:G$="L0H":F'UKE 752,1
5 GOSUB 10@G
6 PDKE 765,2: COLOR 2: PLOT 8,S:DRAMT0 79,
0:PLOT 79 # 47s DRflWTO 73* 30 s DRflWTO 6#30:PO
S I T I ON 0,47: X I 1 3 , #6 ,&,&," S : "
7 POKE 765,3: COLOR 3: PLOT 79,29: DRAhTO 7
9,1: DRflWTO 0,1: PCS I T I ON 9 , 29 s X 1 1 8 , #6 , @
, b , ■!■■ •
8 P K E 7 1 ii , 1 4 o
1 PF-PEEKX 1 86 )- 1 6 : POKE 54279 , PP
28 Pfl=PP*256 SPOKE 559,62
21 FOR Q=? = i3256 TO 53280s POKE Q#3:P0KE Q~
8,RND<1 >:?:255:NEKT Q
22 POKE 53246, 100: POKE 53249,108: POKE 53
250 , 1 88 : POKE 53251, 58
23 POKE 784, 189: POKE 785,89: POKE 786,79:
POKE 787,29: POKE 53277,3: POKE 559,62
24 FOR Q=Pn+1024 TO Pn+2048:POKE Q,0:NEX
38 RESTORE 218: FOR Q=PP1+1 144 TO Pf'1+1288:
READ ft: IF A=-i THEN 32
31 POKE Q, A: NEXT Q
7.2 RESTORE 218: FOR Q=pn+1368 TO PP1+1536:
READ fl: Ih A=-l THEN 34
33 POKE Q, A: NEXT Q
74 RESTORE 218: FOR Q=PP1+1576 TO Pfl+1792:
READ A: IF A=-l THEN 36
35 POKE Q, A: NEXT Q
36 RESTORE 218: FOR Q=pn+1842 TO PH+2848:
READ A: Ih A=-l THEN 48
37 POKE Q, A: NEXT Q
48 POKE 623,1
50 SOUND 8 , 255 ,12,5: SOUND 1 , 1 45 , 1 2 , 5 : SOU
ND 2,288,12,5
fifl FOR P= c i3256 TO 53268: POKE Q, 3: POKE Q-
SlRNDU v*:255:NEXT Q
70 POKE 704, 109: POKE 705,89". POKE 786,79:
POKE 787,29: POKE 53277,3: POKE 559,62
75 ST=Pn+1342: HG=INT< ST.-256 >: LN=ST-256*H
G : POKE 203 , LW : POKE 204 , HG : POKE 285 , 1 8
RACE • 31
80 P 1 =< RND< 1 >t 1 80 ':•+ 1 00 : P2=< RND< 1 >t 1 00 >+ 1
00* P0=< RND< 1 >$100 >+100: P3=58
85 FOR 0=6 TO 3 : S< Q ')=< RND< 1 >$2 >+ 1 : NEXT Q
87 POKE 53248* P0S POKE 53249, PI : POKE 5^2^
U,P2:P0KE 53251,56
38 FOR Q=l TO 50 : X =USR':: HDR< £■$':>, 7 >'. NEXT Q
90 IF G*="HIGH ,! THEN SOSUB 400: 60T0 128
92 POKE 53278,1
95 P0=P0+S< 0>* IF P8>255 THEN P0=0
98 X=USR<flDR<E*>*STICKC0>)
188 Pl=Pi+S<l>'IF Pl>255 THEN Pl=8
118 P2=P2+S<2>:IF P2>255 THEN P2=8
128 ni=fii+0.0i
1 £4 X=USR< HOR< E$ > , ST I CK< 8 ) )
129 IF STRI6<0>=O THEN 60SUB 588
138 POKE 53248, P8: POKE 53249, PI : POKE 532
58, P2
135 POKE 6-_>6 r k. s POKE 857,5s y "GEfiR ''i'5$i"
""POKE G56,2:P0KE 857,28:" "PULES "iHI
_ M H
1 48 CP=PEEK< 53263 > : CS=PEEK< 53255 ':<
158 IF CPO0 THEN 688
168 IF CS04 THEN 688
198 GOTO 98
210 Ut-iTH 64,ii^o,ii3o ,iL3o ,ii3y ,ii3o,78,G8,22
£. i ■_' L'H ! H il-J'O , CSO , bt , — 1
3y@ C=INT< RND< 1 >£3 >! S< C :>-<. RND< 1 >£2 >+i : RE
I URN
488 P0=P0-<S<0}#2>* IF P8<8 THEN P8=255
485 X=USR< HDR< E$ > , ST I CK( 8 > )
418 P1=P1-:S< 1 >i.2>: IF PK0 THEN Pl=255
415 X=USR£ PDR< E$ ) , ST I CKX 8 > )
428 P2=P2-<S<2>&2>! IF P2<8 THEN P2=255
425 X=USR< ROR< E$ > , ST I CK< S > )
438 PI I =H I +8 . 85 : RETURN
500 IF H:£="HIGi-i ! ' THEN 6$= "LOW'S SOUND Fi « 2
55, 12, 10: SOUND 1 ,245, 12,10: SOUND 2,235,1
2,10: RETURN
510 G*="HIGH": SOUND 8,188, 12, 18: SOUND 1,
32 • GAMES FOR YOUR ATARI COMPUTER
110, 12., 1@: SOUND 2,38., 12, 18: RETURN
680 GOTO 640
605 SOUND , , , : SOUND 1 , 8 * 8 , 8 : SOUND 2 ,
0,0,0
610 POKE 53246,100: POKE 53243, 100: POKE 5
R28 TRfiP 628: "■ " ANOTHER 80 "H INPUT G*:
IF G4Kl,i>="V" THEN P!I=0: Gi="LOW" : ? CHRi
( 125 >■ GOTO 24
630 END_
640 J=PEEK< 203 }+256£PEEK< 204 >
R4F; FOR P=l TO 250: IF PEEK< J+Q )=8 THEN N
EXT Q
650 ST=J+Q : HG= I HT< ST/256 > : LH=ST-256$HG : P
OKE 203 , LN : POKE 284 , HG
655 FOR P=l TO 88
660 :K=USR< 1 536 > : SOUND 1 , PEEK< 53770 > , 1 28 ,
■i ET
X -J
670 POKE 707, PEEK< 53770 >: NEXT P
788 POKE 5325 1,0: GOTO 605
1000 RESTORE 2080
1010 TRfiP 1050:P=0
1020 P=P+l:REHD ft
1030 E*<P,P>=CHR$<ft)
1040 GOTO 1820
1050 RESTORE 3000
1060 TRfiP 1030: P= 1536
1070 READ ft: POKE P,ft:P=P+l
1080 GOTO 1070
1030 TRfiP 40888
1188 RETURN
£800 DfiTfi 1 04 , 1 04 , 1 04 , 74 , 72 , 1 76 , 1 1 , 1 88 , 8
, 1 77 ,283 , 1 36 , 1 45 , 283 , 2tf8 , 288 , 288 , 247 , 1 84
,74,7ii
2818_DftTfi 176, 1 1 , 160,0, 177,203,208, 145,2
83,136
2828 DfiTfi 136,288,247,184,74,72,176,7,13
8,285,165
2838 DfiTfi 285 ,141,3, 288 ,184,74,176,7, 238
, 285 , 1 S5 , 205 ,141,3, 208 , 96 , END
3000 DfiTfi 1 04 , 1 68 ,0,1 73 , 1 8 , 2 1 8 , 1 45 , 283 , 2
@8 , 1 32 , 25 , 208 , 246 , 36 , END
LUNAR
LANDING
(Joystick)
This game was also written by Paul Dunning. You use the
joystick to land on the blue landing pad and score maximum
points for a slow, gentle landing (say, a vertical speed of 5).
You will crash if you are going too fast.
If you land, your score will depend on how slow your
vertical speed was and on which landing pad you alighted.
You are then given 500 extra fuel units and the game begins
again. The game ends when you run out of fuel.
• T r'HUL UUririi
i DA i H i Uo #68 j t'l j-4u j5j j4y jGu j4y jG4 #48 i 72.
, 4y r 4y , 4y j 53 j, 40 j, 60 , 40 f 64 #48 * 7Z * 40 * 48 r 49 *
5-.i 1 48 i t-y j? 48 i 64 j 4y i ty ^ 48 1 id j yy
2 DfiTfl 108#80»3S#88#80#48#S4#48jf72.»48.»81
33
34 • GAMES FOR YOUR ATARI COMPUTER
, 88 , 72 , 48 , 64 , 40 , 72 , 60 , 36 , 40 , 85 , 40 , 53 , 88 ,
48 , 40 , 45 j 4y , 50 * 40 , 53 , 48 , 89 , 40
3 DfiTfl 68 , 48 , 72 , 40 , 3 1 , 48 , 53 , 88 , - 1
4 CLR :DIH H$>: 100>,H$< 11 >,£*< 60>:H*=" a
tar i ": POKE 752,1: HI =568
5 pp= i : FU=4888 : T I = 1 00 : 86=0 : HU=8 : W=HU : PO
KE 5327b", 1:66SUB 888:68SUB 4080
6 DftTfi 11*12*13*13*14*15*17*19*21*22*23*
",33,33,:
DftTfi 25,26,28,38,31, 33, -t
8 UHTH 3 1,30,2h, 28,i£6, 25, 25,24,23,21, 18,
16,15
j-i —i|-:-r!- ^ -i f A i a < c * ■? |Q oi '"'"j -~» -1 •'52? -~i~-
d_ L.ih| M i4,i4,i4,i-_i,lf jidfiii ii o , £.4 , .c-_> , £b ,
18_ DftTfi 28,28,28,28,27,26,26,25,26,27,28
, CO
I'd UHffi 28*18*17*17
£8 FUR 1=1 T8 8:P8KE 53247+ I , 8 : NEXT 1:66
TO 485
38 END
128 REP1 PUKE 53248,38
280 REM $$:m:PLHVER SETUP **:m
218 POKE 558,8: PUKE 718, 148: POKE 712,8
215 POKE 752,l:fiL=110
230 RESTORE 235: FOR S2=l TO 60: READ S3:E
$(. S2 , 62 >=6HR$< S3 ) : NEXT S2
235 DOTH 184,104,104,74,72,176,11,160,2,
1 77 , 203 , i 36 , 1 45 , 203 , 208 , 200 , 208 , 247 , 1 84 ,
74,72
236 DftTfi 1 76 , 1 1 , 1 68 , 253 , 1 77 , 283 , 288 , 1 45 ,
203,136
237 DfiTft 1 36 , 288 , 247 , 1 84 , 74 , 72 , 1 7b , 7 , 1 98
238 DATS 165,285,141,0,288,184,74,176,7,
238,285, 165,285, 141, 8, 208, 8b, 8, 8
24@ fl=PEEK< 186 >- 16: POKE 54278, ft: POKE 284
,ft+4:F0KE 283,8: PriBfiSE=ft*256
258 POKE 53277,3: POKE 784,48: P8KE 53248,
150:P6KE 285, RNTK 1 >t 138+78 :P8KE 53256,6
260 F8R I=PP1BftSE+1824 TO PP1BfiSE+1288:P0K
-
LUNAR LANDING • 35
E 1,0: NEXT I
279 RESTORE 290
280 FOR I=PnBRSE+1155 TO PITBfiSE+1209:REfi
D B:POKE I, B: NEXT I
290 DfiTfl 3,8, 60 ,60, 126, 126*195, 195,126,1
26,60,60,24,24,126,126,165,165
300 DATA 165,165,165,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0
310 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0
320 POKE 559,62: GOTO ,390
370 ST=STICKC8)
380 CO=PEEK< 53252;-: IF CO>0 THEN GOSUB 50
@
385 POKE 53278,1
390 IF flfl=l THEN FOR Q=0 TO 100:fl=USR<HD
RC E$>, 14 >: SOUND 0,255,8, 15: NEXT Q:flft=@:fl
=USR< HDR< E$ ) , 1 1 > : SOUND 0,0,0,0
409 POKE 53278,3
418 IF ST=14 AND FU>=30 THEN SOUND 0,255
, O , 1 -J ■ DU i U "i-d KJ
415 SOUND 0,0,0,0
420 IF ST=7 OR ST=11 AND FU>=5 THEN SOUN
D 1,1 OO , 8 , 3 : SOTO 436
425 SOUND 1,0,0,0
430 IF FLK=0 THEN FU=0:6OTO 455
431 IF ST=7 THEN HU=HU+0.05:FU=FU-5
432 IF ST=11 THEN HU=HU-0.05:FU=FU-5
440 HP=HP+HU:IF HP>1 THEN HP=0:SR=7
450 IF HP<-1 THEN HP=0:SR=11
455 iji.j=i..ii..i+M.fi2:Lip=i.ip+i.Ji.i: IF UP>1 AND SR=1
5 THEN UP=0:SR=i3:HL=flL-l
456 IF MP>1 AND SR=11 THEN Up=0:SR=9: AL=
HL-1
457 IF UPM HND SR=7 THEN UP=0: SR=5: AL=A
L-l
458 IF Up<-i THEN UP=0: SR=14: AL=AL+1
460 IF ST=14 HND FU>29 THEN W=UU-tf.05:F
U=FU-30
480 H=USR':r-tDR':E$>,SR;':SR=15
485 ? " SCORE="iSCi" " iCHRIK 127 >i " UUEL
=";UU^100;" "
36 • GAMES FOR YOUR ATARI COMPUTER
486 ? " FUEL =";FU; U U ;CHR$< 127?;" HUEL
= H ;HW108;"
487 ? " TlflE = n ;INT<TI>;" "iOHR*< 127 >i"
HLT ="iftLi" "
488 ? CHR$<23>;CHR*<28);CHR$<28>#
483 TI=TI-6.1
498 IF TI=8 THEN 728
482 SOTO 378
485 SOTO 218
580 IF 86=4 RND W<0.5 THEN 688
585 IF UU=4 FIND UU>8.4 THEN 700
510 IF CU=2 THEN 700
520 RETURN
800 FDR Q=l TO 2: FDR (4=255 T8 180 STEP -
818 SOUND 0,H* 10 #15: SOUND 1,N- 18, 18,15:8
OUND 2,N-2O,10,15
620 NEXT N:NEXT Q
630 SS=0.5-W:SG=SC:IF 88=8 THEN SC=SC+5
8 : 6DT0 658
648 IF flL< 5 THEN SC=SC+<SS&100)$10:6OTO
658
642 IF hI_ : :'2m THEN SC=SC+< SSSIOO >$20: SOTO
650
644 IF HL<60 THEN SC=3C+< SSS1 OO >.*5
658 IF FU<2508 THEN FU=FU+< S0-S8S2 >
655 F8R 0=0 T8 3 s SOUND 0,0,8,0: NEXT Q:fifi
= 1 : POKE 53278 , 1 : SOSUB 880 : S8T8 2 1 8
7Pifi FHR 0=0 T8 58: POKE 7i2,RND< 1 >#255:S0
UNO 8,255,8, 15: S8UND 1 ,248,8, 15: SOUND 2,
228,8, 15: NEXT
785 SOUND 8,8,8,8: SOUND 1 ,8,8,8: SOUND 2,
8 , 8 , 8
786 IF FLK38 THEN FU=8:S8T0 728
7 1 8 POKE 712,8: p.H= 1 : SOSUB 888 : SOTO 218
728 POKE 712,8: SOTO 818
880 UP=0 : HP=0 : HU=0 : W=0 : T I = 1 88 : RETURN
810 IF SOHI THEN SOSUB 1010
828 GRAPHICS 17:SETC8L6R 4,1,8
838 ? #6;" SfiPlE 8UER"
835 ? #6:? #6;" HISH SC8RE ";HI
636 ? #6:? #6," ";H$
LUNAR LANDING • 37
348 ? #6:? #G;" PRESS START "
859 PUKE 53248*8
360 IF PEEK< 53279 >=6 THEN RESTORE :GOTO
87u GOTO 860
899 END
800 HLf'l INTHO
810 GRAPHICS 17:SETC0L0R 4,1,0:E=8
920 ? #6i" LUNAR LONGER "
830 ? #6:? #6;" BV P. DUNNING SEP. 82"
940 ? #£;:? #p ;i » USE JOVSTICK <G>"
850 ? #6:? #6;" u p
9G0 ? #6:? #6;" ••'- "
870 ? #6;" left < > right"
888 ? #6
885 POKE 53248 j. U
890 READ Pis IF PK8 THEN 988
882 REfiD P
885 SOUND e,F1,18,15:F0R PP=8 TO P:NEXT P
887 GOTO 890
888 ? #6i" yood luck"
999 FOR X=l T 13: FOR V=8 TO 255 STEP 28
: SOUND 8,V,18,15:NEXT V:NEKT X: SOUND 8,9
,8 j 0: RETURN
1S0U RESTORE t s SOTO 330
1010 H*=" ":TI =38: GRAPHICS 18:SETC0L0R 4
,1,8:? #6;" GREAT SCORE ":? #6:X=1:V=
abcdefah"
l:HI =
SC
1011
? #8;"
i ii' i i!
? #8
irfiO
? #8 i "
1 W 1 *t
? #6
1015
101b ';•• #H
1017 ? #6;" y z . - RE "
1018 POKE 53248,8
1 028 FOR Q=10 Tii ^4!=; : si ii jhd fi , Q- 18,8,15s :-;
OUND 1,0,8,15: SOUND 2,0+18,8, 15: NEXT Q
1S30 POSITION X,Y:? #6i "XXX" s POSITION X,
V+l:? #6; "X": POSITION X+2,V+1:? #8;"X":P
38 • GAMES FOR YOUR ATARI COMPUTER
OSITION X,V+2:? #6j"XXX"
1046 IF STICKX8X>7 THEN 1058
1845 POSITION X#Vs? #6;" ": POSITION X,
V+i:? #6i" ": POSITION X+2#Y+lz? #6;" ":P
OSITION X,V+2:? #6;"
1Pi4r if X>13 AND V=7 THEN X=lsV=ls60TQ i
850
1847 IF X>13 THEN X=l : V=Y+2: GOTO 1858
1848 X=X+2
1058 IF STICK<0X>11 THEN 18S8
1855 POSITION X,V:? #Si" ": POSITION X,
V+l:? #6;" ": POSITION X+2,V+l:? #6j" ":P
OSITION XjV+2s? #6i"
105S IF X<3 AND V=l THEN X=15: V=7:G0T0 1
0Ry
1857 IF X<3 THEN X=15: V=V-2: GOTO 1868
1858 X=X-2
1868 POSITION 6,10:? #6;"TIP1E " ; INK TI >;
" ":TI=TI-0.l:IF TI=8 THEN 1100
1865 FOR PP=8 TO 20: NEXT PP
186S IF STRIGK0X>0 THEN 1080
1071 LOCATE X+l#V+l,XXsIF XX=flSCX "E" > TH
EN 1108
1072 IF XX=flSC<"R u > HND LEN<H*»1 THEN H
$=H$< 1 , LEN( H$ >- 1 > : GOTO 1 088
1073 IF LEN<H$}>10 THEN 1088
1 875 H*< LEN-: H* >+ 1 >=CHR*< XX >
1888 POSITION 4,11:? #6;H*j" "
1898 GOTO 1838
1188 FOR Q=8 TO 3: SOUND Q* 8,8, 8: NEXT Q
1118 RETURN
4000 GRAPHICS 5
4010 RESTORE 6: COLOR 2
4020 FOR X=0 TO 7S
4030 READ V
4040 PLOT X,39:DRHWT0 X,V
4050 NEXT K
4068 COLOR 3
4070 PLOT 18,32: DRfiNTO 23,32
4080 PLOT 50,28: DRftWTO 54,28
40a0 PLOT 67,22: DRflNTO 73,22
4100 RETURN
DECISION
MAKER
(Keyboard)
This program will help you to make up your mind about
something. First it asks how many options there are that you
cannot decide between. Then it asks how many factors
influence your decision (e.g. price, quality, size). You are
then asked how you might rate a factor, which you do by
typing in a number between and 100.
After all data is entered and all options are listed, the one
that the computer thinks you should choose is shown in
inverse video.
..i\ll//..H
:t')
40 • GAMES FOR YOUR ATARI COMPUTER
■^.r_< h.ti ; ■•;••••;■• fc'T L-ribiio L-Hi-LtHLiLh. ■•;••••;■■
ii Ken ■■;••••;-■ HuHr i tu di r . cJUNN ■■;••■■;••
25 DIP! R$<32>t80SUB 39: GOTO 80
30 GRAPHICS 8
*H3 ot i LUL.UK £ j o j £ > DC I L-UL.UK 4 j- o j> d
50 PRINT , "DECISION flAKER"
by PRINT j *$ $£:s£:s ££££$ s$ "
70 PR I KjT
32 l HfiP 82 ! INPUT R$!Q=UAL<fi$}
90 PRINT "HUH PlHNV FfiCTORS INFLUENCE DE
ESI ON"
10O TRAP 100: INPUT H$
110 F=UflL(fl$)
120 DIP! 0$<0&32>*F$<F&32}
1 30 Q$< 1 >= " " : D$< 0*32 >= " " « 0$< 2 >=0$
1 40 F$< 1 )= " i! : F*< F*32 )= " " : F£< 2 >=F$
150 GOSUB 30
I by F OR h— 1 lu u
170 ? "ENTER NOTE OF OPTION "ifi
180 TRPP 130: INPUT fl$:TRAP 4OOO0
1 90 0*< < A-l >$32+ 1 A A-l >*32+3 1 >=A$
200 NEXT H
210 GOSUB 30
220 FOR P=l TO F
230 ? "ENTER NAPE OF FACTOR "ifi
240 TRAP 240: INPUT R$:TRAP 40880
250 F$< < A- 1 >&32+ 1 * < A- 1 >*32+3 1 >=ft$
280 NEXT H
270 GOSUB 30
288 Din PK0#F)
298 FOR fi=l TO
300 FOR 8=1 TO F
318 GOSUB 38
320 ? "HON HOULD VOU RATE "*F$<<8-1 >$32-
50 ?
DECISION MAKER • 41
iE B , 0$< < ft- 1 :>S32+ 1 , < ft- 1 >*32+3
j4y i NPu ! 'J
359 fKHiBM
36@ NEXT B
370 NEXT H
380 GOSUB 30
330 ? "HERE IS HHHT I THINK VOU SHOULD D
4 1 C-0
420 FOR B=l TO F
430 C=C+PKh,B>
440 NEXT B
450 IF OTOP THEN TOP=C:HO=fi
460 NEXT R
470 FOR H=l TO
480 IF P=NO THEN FOR P=i TO 3 1 : L=< H- 1 >*3
2+p: fi*=G$< L * L > : K=ftSC< H$ >+ i 28 : 0*=: L * L >=CHR
I- 1 -. K .■' ■ Ntrt i r
2+P:K=fisL:(n$<L J L)): IF K=16S THEN 0$< !_,!_>
too lr H— rfU I ntr4 Nt.'-. I r
488 ? 0$<<ft-l >X32+1 j(H-1 >£32+31 )
500 NEXT M
SAFE
CRACKER
(Keyboard)
This superb game was written by Terry Davies, and it re-
quires a machine with a 24K memory.
The object is to get as many coins from Mrs. Warren
Fitzdobody's safes as possible. To open a safe, you must
guess three numbers correctly. You enter your first number
when asked, and if you are within ± 5 of the actual number,
you will hear the safe mechanism click. If you take more than
10 guesses for any number, the alarm is triggered and the
police will arrive (you will see the flash of their headlights
through the window).
If you get the first number right, proceed to number two
and then three. If you manage to guess all three numbers
correctly (a probability of 1 in 970,299) the safe will open and
you will receive some coins. You then proceed to another
room and try again.
Luck is involved in this game, but so too is skill. The skill
involves learning the logic to crack the safe. After playing
this game, you may think twice before practicing this art for
real!
d REP1 $£ SAFE CRACKER - '*'•£
3 REF1 tt WRITTEN BV TERRV DfiUlES tt
4 rep! :m$:m:m.t&m:m-:mw:m:m-s
5 GRAPHICS 2:FLHSH=0:p=lu:Din M*< 5 ;,D*< 3
208>jC<4>.»PT$<S2}! T r=6
10 POKE 798, P+ 19: POKE 709, 145: POKE 752,8
: POKE 712*145! POKE r'l 0,145
42
SAFE CRACKER • 43
25 POSITION 4,6:? #6; "safe cracker" : S08U
B 6880
39 IF PEEKX 53279 >=6 THEN 1000
35 P=P+0.1:FLHSH=FLHSH+i:IF FLASH >50 THE
N POKE 709,P:IF FLASH >50 THEN POKE 708,1
45 : FLflSH=-20 : POKE 53279 , O
4a IF FLASH=0 THEN POKE 709,145: IF FLASH
=0 THEN POKE 70S, P: POKE 53279,0
50 IF P<2O0 THEN 30
1 OOO GRAPH I CS 7 : PX=4 : LC=40 : X=0 : V=0
1005 GOSUB 5100
1007 ? "PLEASE WHIT."
1010 GOSUB 30000
102O FOR 1=0 TO 4: POKE 708+ I , C< I > : NEXT I
1030 GOSUB 5199
1040 POKE 752,1: POKE 709,0:? :? " HE
RE IS THE SHFE...SHHHHHH! ! ! " : FOR N=l TO
1500: NEXT N:? CHR*<125>
1043 ? " VOU BETTER PUT THE SIDE LIGHT
N":? " THERE'S NO ONE AROUND .. PRESS STAR
T":POKE 53279,0
1045 IF PEEKX 53279 X >6 THEN 1045
1050 POKE 709,202:? CHR*< 125 >i "THAT 1 9 BE
ITER VOU CAN SEE NHAT VOU":? "ARE DOING
NOW" I FOR M=l TO 2000: NEXT W
1055 ? CHR$< 125 >: GOTO 2000
10G0 GOSUB G00G
1070 ? CHR*< 125 >i "PRESS START TO HAUE AN
OTHER CRAD<"
1071 POKE 710,30: FOR H=l TO 2O0: NEXT W:p
OKE 710, 138: FOR N=l TO 99: NEXT H:POKE 71
9,148: FOR H=l TO 250: POKE 710,138
1072 FOR W=l TO 99: NEXT H:POKE 710, 148: F
OR H=i TO 250: NEXT N:POKE 710, 138: FOR H=
i TO 10y:NEXT httPOKE 710,148
1073 FOR H=l TO 250: NEXT W:POKE 710,138:
FOR W=l TO 100: NEXT N:POKE 710,148
1074P0KE 53279,0: IF PEEKX 53279 ><>6 THEN
1072
1075 GOTO 1820
2080 A=INT(RND< 1 >*S1 >+18: B=INT< RND< 1 >$81
H10sC=INT<RND< 1 >S81 >+10: J=0
2003 J=J+l:? M WHATS VOUR FIRST NUF1BER
44 • GAMES FOR YOUR ATARI COMPUTER
1 TO 99 ": INPUT H: IF N>99 OR N<1 THEN 28
93
2085 IF J=ll THEN GOSUB 3950: GOTO 1060
2006 IF NOfl THEN 2O0S
2007 GOSUB 3350: GOTO 2499
2006 IF N>0-5 AND N<fi+5 THEN G05UB 3980:
SOTO 28w3
2010 IF_N>fi+5 OR N<fl-5 THEN GOSUB 4000: G
0T0 2003
20 1 i GOTO 20O3
2499 J=8
2500 J=.J+l:? "WHHTS VOUR SECOND NUMBER":
INPUT N: IF N>99 OR N<0 THEN 2580
2513 IF J=ll THEN GOSUB 3950: GOTO 1060
2520 IF NOB THEN 2530
2525 GOSUB 3850 : GOTO 2999
2530 IF N>B-5 AND N<B+5 THEN GOSUB 398G:
SOTO 2580
2535 IF N>B+5 OR N<B-5 THEN GOSUB 4OO0:G
Ofo 2508
2540 GOTO 2508
2999 U=0
SOOO ? " WHflTS VOUR THIRD NUMBER"! INPUT
N.'IF N>99 OR N<8 THEN 3O0O
30O5 J=.J+1
3O10 IF .J= 1 1 THEN GOSUB 3950: GOTO 1068
3028 I F N< >C THEN 3036
3825 GOSUB 3858:? "VOU HfiUE OPENED THE S
HFE " : .J=8 : COLOR @ : PLOT 4 1 , 38 : DRfiWTO 39 #16
3826 J=.J+l:IF J>3 THEN 3828
3827 DRFIWTO 4 1 + J , 16: DRRHTO 4 1 + J * 38 : GOTO
3826
3828 CO= I NT< RND< 8 >*200 >+ 1 88 : ? CHR*< 1 25 > i
"NELL DONE , THERE NHS "iCOi" COINS IN":
? "THAT SHFE ! ! "
3829 TT=TT+CO:? "NOW TRV THIS ONE.....":
FOR W=i TO 1888: NEXT N:GOTO 1828
3838 IF_N>C-5 HND N<C+5 THEN GOSUB 3988:
SOTO 3088
3835 IF N>C+5 OR N<C-5 THEN GOSUB 4888 :G
OTO 3000
3048 GOTO 3888
i ib-j
SAFE CRACKER • 45
3858 FOR 1=1 TO 100! SOUND 0,T, 10,8: NEXT
T:? "VOU ARE RIGHT": SOUND 0,0,0,0: RETURN
3900 FOR 8=20 TO 15 STEP -4: NEXT 8: SOUND
0,N,10,14:FOR W=l TO 3: NEXT M: SOUND 0,0
,0,0: RETURN
3850 ? "BLiriEV ! ! VOU HAUE SET THE ALAR
PI OFF":? "LETS SCARPER THE POLICE ":R
=0
3880 ? "VOU NICKED ";TT;" COINS FROP1 THE
SAFES" ;:TT=8
3888 FOR N=28 TO 15 STEP -4: NEXT N: SOUND
O,N,i0,14:FOR W=l TO 33: NEXT N: SOUND 0,
0,8,0: R=R+l: IF R=28 THEN RETURN
3888 SOTO 3888
400O ? " VOU ARE HRONG TRV AGAIN !":R
ETURN
5 1 80 DL=PEEK< 560 >+PEEK< 56 1 ::'*256 : FlEn=PEEK
< 106 >#256: DAT=PEEKc: DL+4 >+256*PEEK< DL+5 )
5U38 RESTORE 52O0: FOR P=l TO 62: READ A:P
T*< P , P >=CHR$( A > : NEXT P
5118 ST=DAT+V*LC+ 1 NT< X^PX ) : RETURN
5198 GOSUB 5110:A=USR<ADR<PT*>,ST,flOR<D$
::',BVT,LIN,LC::': RETURN
5200 DATA 104,184,133,204,104,133,203,10
4, 133,206, 104, 133,205, 104, 104, 133,207, 10
4,184
5210 DATA 170,104,184,133,208,164,287,13
Dj 1 i 1 »iO-J
ja^.k.i L<h I i-t i t-j , ao-5 , i _'b , i o£ , £ljj , £uo , ^4 f , ^t
16T
5238 DATA 283,181,208,133,283,144,2,230,
204 , 24 , 1 65 , 285 ,101, 287 , 1 3 6 , 205 , 1 44 , 2 , 230
5248 DATA 286,202,208,218,86
S000 FOR •!=! TO 8: SOUND 0#47#10#8"FOR L=
1 TO 188: NEXT L: SOUND 8,64, 18,8: F6R L=l
TO 188:NEXi L:HEXT J
688 1 SOUND 8 , 8 , 8 , 8 : RETURN
20000 DATA O , O , O , O , O , O , O , O , 8 , 8 , 8 , 6 , 8 , , 8
2000 1 DATA , , , , , ,8,8,8,8,0,0,0,0,
20002 DATA 0,0,0,12,8,8,8,8,8,8,8,8,8,8,
8
28883 DATA 8 , 8 ,8,8,8, 8 , 8 ,8,8,8,8,0,0,1 85
46 • GAMES FOR YOUR ATARI COMPUTER
20864 DATA 63, 255, 207, 255, 63, 2^,207, 2"
, 63 , 255 , 207 , 255 , 1 92 , 1 32 ,
20005 DATA , ,0,0, , , , , , , , , , f
20006 DATA 0,0,0,0,0,0,0,0,195,12,63,2"
,207,255,63
20007 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 3
2, 192, 192,0, Li, 0,0,0
20008 DATA ,0,0,0,0,0,0,0,0,0,0,0,0, ,
20009 DATA , , , 1 95 , 1 2 , 63 , 255 , 207 , 255 , 6
3 , 255 , 207 , 255 , 63 , 255
200 1 DATA 207 , 255 , 1 92 , 1 92 , 1 92 , , ,0,0,0
,0,0,0,0,0
20011 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,195
Jill
20012 DATA 63,255,207,255,63,255,207,255
, 63 , 255 , 207 , 255 ,192,192,132
20013 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20014 DATA 0,0,0,0,0,0,0,0,195,12,63,2"
,207,255,63
200 1 5 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9
2,192,192,0,0,0,0,0
20016 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20017 DATA 0,0,0,135,12,63,255,207,255,6
3 , 255 , 207 , 255 , 63 , 255
2001S DATA 207,255,192,192,192,0,0,0,0,0
,0,0,0,0,0
20019 DATA 0,0,0,0,0,0,63,255,207,255,19
2,0,0,195,12
20020 DATA 63,255,207,255,63,255,207,255
, 63 , 255 , 207 , 255 , 1 92 , 1 92 , 1 92
20021 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20022 DATA 0,63,255,207,255,192,0,0,195,
12, 63 , 255 , 207 , 255 , 63
20023 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9
2,192,192,0,0,0,0,0
20024 DATA 0,0,0,0,0,0,0,0,0,0,0,63,255,
207,255
20025 DATA 192,0,0,195,12,0,0,0,0,0,0,0,
0,0,0
20026 DATA 0,0,0,192,192,0,0,0,0,0,0,0,0
,0,0
20027 DATA , 0,0,0, , , 63 , 255 , 207 , 255 , 1 9
SAFE CRACKER • 47
2,0,0,135,12
2002S DATA 63,255,207,255,63,255,207,255
,63,255,207,255, 132, 192, 132
20023 DfiTfl 0,0,0,0,0,0,0,0,0,3,255,255,2
4@ , @ ,
20030 DfiTfl 0,63,255,207,255,192,0,0,195,
2003 1 DfiTfl 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 9
2,192,192,0,0,0,0,0
20032 DfiTfl 35,65,35,85,92,0,0,12,0,0,0,6
T OSS -'iTi" 0=^5
20033 DATA 1 92 ,0,0,1 95 , 1 2 , 63 , 255 , 207 , 255
, 63 , 255 , 20 7 , 255 , 63 , 255
20034 DATA 207 , 255 , 1 92 , 1 92 , 1 92 , , , ,0,0
20035_UflJfl 0,0,12,0,0,0,63,255,207,255,1
32 , , @ , i yy , 1 d
20036 DATA S3 , 255 , 207 , 255 , 63 , 255 , 207 , 255
,63,255,ci0,-,255,192,192,192
20037 DfiTfi 0,0,0,0, , 30 , , , , 43 ,0,0,3,0
,0
20033 DfiTfi 0,63,255,207,255,192,0,0,195,
■i ■-• C-~i "lETC -;|"V"? "iCC r- —
i il , DO , l1 ■_'-_' , ^itf t i C-JJ , DO
20039 DfiTfi 255 , 207 , 255 , 63 , 255 , 207 , 255 , 1 3
2,192,192,0,0,0,0,y
2Q040 DfiTfi 30,0,0,0,132,0,0,3,0,1,35,35,
y5,yy , y
20041 DfiTfi 0,0,0,135,12,63,255,207,255,6
20042 DfiTfi^ 207 , 255 , 1 32 , 1 32 , 1 32 , , , , ,
, 80 , ■_■ , i 95 j 3 , y
20043 DfiTfi 0,0,0,1 32 ,1,64, 63 , 255 , 240 , 255
,132,0,0,135,12
29044 DfiTfi 63,255,207,255,63,255,207,255
,63,255,207,255, 132, 132, 132
20045 DfiTfi 0,0,0,0,0,30,16,51,3,0,0,0,0,
iyy, 1
20046 DfiTfi 63 , 35 , 35 , 240 , 255 ,132, , , 1 35 ,
12,0,0,0,0,0
20047 DfiTfi 0,0,0,0,0,0,0,0,132,132,0,0,0
,0,0
20043 DfiTfi 30 , 4 , 1 32 , 1 2 , , , , , 43 , 1 , 63 , 8
48 • GAMES FOR YOUR ATARI COMPUTER
28649 DATA 1 92*8 *8* 195* 12*63* 255*287 #255
20059 DATA 207 * 255 , 1 92 * 1 32 , 1 92 * , * * *
, oW j C'J j 1 Si j 4o , W
20051 _ DHTfl 8*8*8*12*1*69*81*85*248*255*1
92 , j'Jj 1 95 j 1 !i
20052 DATA 63*255,287,255,63,255,207,255
i~'"7 "iCC - -ti-L-n "iCC i i-i-- H |-i-- -f :-.-
, bi , £-D-J , £.(3 I' , £.-J-_i , 1 di j 1 Z>lL , 1 3£
20053 DATA ,0,0,0,8, 68 , 68 , 3 , 1 92 , , * ,
•i •- •:
20054 DATA 69 , 65 , 85 , 248 , 255 , 1 92 , 8 , 8 , 1 95 ,
1 2 , 63 , 255 , 207 , 255 , 63
28855 DATA 255 , 287 , 255 , 63 , 255 , 287 , 255 ,19
2,192,192,8,8,8,8,8
28856 DATA 88 , 28 , 1 92 , 1 92 , 8 , 8 , 8 ,8,3,1, 69 ,
"■IT i-i C" "I .i f-i OrC
b-j , oo , ii4u , c. jO
20057 DATA 192,0,0,195,12,63,255,207,255
, 63 , 255 , 287 , 255 , 63 , 255
28858 DATA 207 , 255 , 1 92 , 1 92 * 192 *3 * 1 92 , *
,0,88,16,195,8,8
28059 DATA 0,0,0,3,1, 69 , 85 , 85 , 248 , 255 , 1 9
2,8,8,135,12
28868 DATA 63,255,287,255,63,255,207,255
,63,255,207,255, 192, 192, 192
2886 1 DATA 48 , 8 ,8,8,8, 88 , 88 ,8,1 78 ,178,17
0, 170, 170, 178, 194
28862 DATA 69,8,85,248,3,8,8,8,195,12,63
,255,287,255,63
28063 DATA 255 , 207 , 255 , 63 , 255 , 207 , 255 ,19
2*192* 195*8*8*8*8*0
28864 DATA 88 , 64 , 1 92 , 8 , 38 *2 *64 *8*8 * 2 * 69 ,
O-J , OJ , £.4b , £.-_' •_>
28065 DATA 192,8,0,195,12,63,255,207,255
, 63 , 255 , 287 , 255 * 63 * 255
28866 DATA 287 , 255 ,132,1 32 , 248 ,8*8* 8 ,8,0
,88,76,12,132,8o
28867 DATA 2,64,8,6,2,63,85,85,248,255,1
Oil , t< * eJ * i oV> , i £.
28866 DATA 63,255,287,255,63,255,287,255
,63*255*287*255*192*195*8
28863 DATA 8,8,8,8,0, 88 ,8,8,8, 88 , 2 , 64 , 8 ,
20070 DATA 63,85,85,248,255,132,8,8,135,
SAFE CRACKER • 49
12*8*0* 192.*8.,8
2907 1 DfiTfl a , #0*0*12* , , * 240 , 1 92 , * 8 ,
0,0,0
£0072 DfiTfi 88, 0,0,0, 88,2, 64,8,0, 2, 69,95,
85,240,255
20073 DfiTH 192, 0,8, 195, 12, 63, 255, 25^,25!=;
, G3 , 255 , £07 , 255 , G0 , 1 5
20074 DfiTfi 207 , 255 , 207 , ,8,8, 8 , 8 , 8 , 8 , 88 ,
8,8,8,88
20875 DfiTfi 2 , 64 , 8 , 8 , 2 , 69 , 85 , 85 , 248 , 255 , 1
82,8,8,3,12
28076 DfiTH 63,255,207,255,63,255,207,255
cr -i lt ~ii"j-7 -ice *~tA fla -t i-j-- .-
, -_ib , i _i , £Xt i , ^_i-_i , itO , 1 3£. * to
28077 DfiTfi 8 ,8,0, , , 98 , 1 78 , 1 78 , 1 78 , 88 , 2
, b4 , 8 , 8 , £
20078 DfiTfi 69 , 85 , 85 , 240 , 255 , 1 92 ,0,0,3,12
#63 * 255 , 287 , 255 , 63
20079 DfiTfi 255,287,255,56,15,287,255,8,8
,192, 8 , 8 , 8 , , 8
28888 DfiTfi 85 , 85 , 85 , 85 , 88 , 2 , 64 , 8 , 8 , 2 , 74 ,
--CC -»etc -i.iH -.:rcr
£8881 DfiTfi 18£, 8, 8, 3,1 £,63, £55, 207, 255, 6
-7 -ice- -if-i - ? "re E-i-- -j cr
20082 DfiTfi 287 , 248 , 1 82 , 8 , 1 92 , 8 , 8 , 8 , 8 , 8 , 8
,8,8,0,8
£0083 DfiTfi £ , 64 , 8 , , £ , 85 , 85 , 85 , 80 , 255 ,19
2 , , , 3 , 1 ll
28084 DfiTfi 63,255,207,255,63,255,207,255
, _ib , 1 _i , £.£1 r , 1 £. 1 ■!• , i dd , i 3£
20085 DfiTfi 8 , 8 , , 8 , 8 , 8 , 8 , 8 ,8,8,2, 64 , £1 , 8 ,
@
28886 DfiTfi 8,8,8,8,8,8,8,8,3,12,63,255,2
87,255,63
£8087 DfiTfi 255 , 207 , 255 , 56 , 1 5 , 1 92 ,8,3,1 92
,192*0*0*0*8*8
20883 DfiTfi 8 , #0 , 8 , 8 , £ , 64 , 8 , 8 , 8 , fi , 63 , 255
,287,255
20088 DfiTfi 192,8,0,3,12,63,255,287,255,6
-7 --ETC" -ii - -! - ^ ~tCC" cr t •-
20090 _ DfiTfi 8 ,8,1 95 ,192,1 92 , 8 ,8,8,8,8, 8 , 8
,8,0,8
£889 1 _ DfiTfi _ 2 , 64 , 8 , 8 , 8 , 8 , 63 , 255 , 287 , 255 , 1
9£ ,8,8,3, 1 £
50 • GAMES FOR YOUR ATARI COMPUTER
28092 DATA 0»0#0#0#8#0*0#8*8*0j.0*12*3#13
2 j 132
26093 DATA 0*0*0*8*0j-8#8#8#8*0#2#64*8*0j
20094 DATA 0,63,255,207,255,192,8,8,3,15
--C-ET -iC-IT -iETE- ".CL -flTEr
, Ll ■_'•_! , l! ■_!_' , il-.'-J , il _'-_' , filJJ
20895 DATA 255,255,255,251,12,68,255,195
,132, 192,8,8,8,8,8 —
29896 DATA 8,0,0,8,8,2,64,8,8,8,8,63,255
28097 DATA 192,0,0,3,12,8,8,8,8,8,8,0,8,
1 1 , y
2809S DATA 12,12,3,192,192,0,0,0,0,0,0,8
, , y , @
20099 _ D ATA _ 2 , 64 ,0,0,0,0, 63 , 255 , 287 , 255 , 1 _
9Li , , , 3 , Id
28188 DATA 8,8,0,8,8,8,8,8,11,0,12,12,3,
192,192
20101 DATA 0,8,8,8,8,8,8,8,8,8,2,64,8,8, — -
28182 DATA 8,63,255,287,255,192,0,0,3,12
,0,8,8,0,8
20103 DATA 0,0,0,11,12,12,12,3,192,192,0
,0,8,8,8
28184 DATA 8,8,8,8,8,2,64,8,8,8,8,63,255
■ - ifj~? -iiz-c-
t£J3( ,^._ij
28185 DATA 192,8,8,3,12,8,8,8,8,8,8,8,8,
11,12
20 1 06 _ DATA 12,12,3,192,192,0,0,0,8,0,0,0
, , , 6 _
20107 DATA 2,64,0,0,8,8,8,8,8,8,8,8,8,3,
28188 DATA 8,8,8,8,8,8,8,8,11,12,12,12,3
•i i-j-i ^ Ci'~
, J. dil , I SC —
28 1 89 DATA 8,8, 8 , 8 , 8 , 8 ,0,8,8,8,2,64,8,8,
28118 DATA 8,8,8,8,0,8,8,8,3,12,8,0,0,0,
20111 DATA 0,8, 8, 11, 12,12,12,3,192, 192, 8
, , , @ ,
28112 DATA 8,8,0,0,8,2,64,8,8,8,8,8,8,8,
28113 DATA 8,8,8,3,12,0,8,8,8,8,0,0,0,11
SAFE CRACKER • 51
20114 DATA 12, 12, 3, 192, 192, 0,0, 0,0, 0,0,0
,0,0,6
20115 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3,
•i ■-(
i i£.
20118 DATA 0,0,0,0,0,0,0,0,11,12,12,12,3
,192,192
20117 DATA 0,0,0,0,0,0,0,0,0,0,2,64,0,0,
20118 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0,
20119 DATA 0,0,0,11,12,12,12,3,192,192,0
,0,0,0,0
20120 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
20121 DATA 0,0,0,3,12,0,0,0,0,0,0,0,0,11
20122 DATA 12,12,3,192,192,0,0,0,0,0,0,0
,0,0,0
20123 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3,
±±.
20124 DATA 0,0,0,0,0,0,0,0,11,12,12,12,3
,192,192
20125 DATA 0,0,0,0,0,0,0,0,0,0,2,64,0,0,
20126 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0,
20127 DATA 0,0,0,11,12,12,12,3,192,192,0
,0,0,0,0
20128 DATA 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
20129 DATA 0,0,0,3,12,0,0,0,0,0,0,0,0,11
tltm
20130 DATA 12,63,255,192,192,0,0,0,0,0,0
,0,0,0,0
20131 DATA 2,64,0,0,0,0,0,0,0,0,0,0,0,3,
12
20132 DATA 0,0,0,0,0,0,0,0,11,12,12,51,1
92,252,63
20133 DATA 192,195,195,15,192,0,0,0,0,0,
_ 2,64,0,0,0
20134 DATA 0,0,0,0,0,0,0,0,3,12,0,0,0,0,
52 • GAMES FOR YOUR ATARI COMPUTER
2Q135 DATA 0*0*0#7#i2#12#48#252j.i32»i92»
@ , , 1 ^
20136 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
H
20137 DflTfl 0,0,0,3,0,63,243,252,255,63,2
07 , 243 , 240 , 247 , i 2
20 1 38 DOTH 207 , 240 , 1 5 , 1 92 , 48 , , ,0,0,0,0
,0,0,0,0
20139 DflTfl 2,64,0,0,0,0,0,0,0,0,0,0,0,0,
20140 DATA 0,0,0,0,0,0,0,0,7,12,12,48,3,
1 Q~' \>-
j. CU. , t'
20141 DflTfl 0,0,0,0,0,0,0,0,0,0,2,64,0,0,
20142 DflTfl 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20143 DflTfl 0,0,0,7,11,255,252,0,240,0,0,
0,0, 0,0
20144 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
20145 DflTfl 0,0,0,0,0,15,255,63,207,207,2
4-7 -tC- - i -tCC* CC- -i
■!.• , £.-J£. , il ■_!-_■ , ■_'■_" J il
20146 DflTfl 192,12,0,63,0,0,0,0,0,0,0,0,0
,0,0
20147 DflTfl 2,64,0,0,0,0,0,0,0,0,0,0,0,0,
29 1 48 DflTfl @ * 8 * @ # r »0*0 * * 4 j 2 * 1 76 * * 48 *
15,192
20 1 49 DflTfl , , , , ,0,0, ,0,0,2, 64 , , ,
20150 DflTfl , , , , , , , , , , , , , ,
20151 DflTfl 0,0,0,7,0,172,0,0,0,240,0,0,0
,0,0
20152 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
y
20153 DflTfl 0,0,0,0,0,0,255,243,252,252,2
•_'ll , i. •_!•_• , bJ , 1 dd i j. ac
20154 DflTfl 40,0,3,0,12,0,0,0,0,0,42,170,
170,170,170
20155 DflTfl 170,170,170,165,35,85,85,85,8
20156 DflTfl 0,0,0,0,0,0,0,0,4,51,10,0,0,0
20157 DflTfl 0,0,0,0,0,0,0,0,0,0,2,64,0,0,
SAFE CRACKER • 53
28 1 58 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,0, 8 , 8 , 8 , 8
28159 DflTfl 8,8,8,4,12,194,128,8,48,8,248
,8,0,8,8
28188 DATA 8,8,8,8,8,2,64,8,8,8,8,8,8,8,
a
28161 DATA 8,8,8,8,8,8,8,8,8,8,8,8,8,8,3
28162 DATA 8,168,8,8,8,12,8,8,8,8,8,8,8,
, 8
28163 DflTfl 2,64,8,8,8,8,8,8,8,8,8,8,8,8,
28164 DflTfl 8,0,0,0,0,8,0,0,0,0,48,40,0,3
28165 DflTfl 3,255,255,255,252,8,8,8,8,8,2
j 64 , , @ , S
28 1 66 DflTfl , , , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , , , a
28167DATA 0,0,8,0,8,12,10,0,0,192,3,192
,0,0,0
20168 DflTfl 0,0,0,0,0,2,64,0,0,0,0,0,0,0,
20 1 69 DflTfl , , , , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8
28 1 78 DflTfl 51,8,1 28 , 8 , 48 , 3 , 1 92 , 8 ,8,8, 8 ,
,0,0,0
28171 DflTfl 2, 64, 8, 8, 8, 8, 8, 8, 8,0, a, 0,8, 8,
28172 DflTfl 8,8,3,0,0,8,0,0,0,0,12,0,32,0
•i cr
, 1 -J
20173 DflTfl 3,192,0,0,8,0,0,0,10,170,170,
170, 17a, 16a, a
20174 DflTfl 0,2,168,18,178,138,128,21,72,
78,5, 143, 197, ZZ6*d55
28175_ DflTfl 243,255,8,8,8,3,8,8,0,8,195,1
yii!,a,a,u
28 1 76 _ DflTfl 8 , 8 , 8 , 42 , 1 78 , 1 78 , 1 70 , 1 78 , 1 68 ,
a , a , 4z , 1 zy , 1 54 » 1 86
28177 DflTfl 8,5,85,69,65,127,8,8,8,8,8,8,
8,8,0
28178 DflTfl 8,192,2,0,8,51,192,0,0,0,0,0,
d. , 1 7a , 1 7a
20179 DflTfl 178, 178, 178, 178, 128,2, 178, 138
, 1 7a , i 68 , a , 1 3w , d. i , 'd. i , 7 1
28188 DflTfl _ 2 13, 255, 255, 223, 287, 248, 255,2
52, 8, 8, 8, 48, 8, 128,8
54 • GAMES FOR YOUR ATARI COMPUTER
£3 181 DflTfl 15,132,8, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,
8,8
£8132 DflTfl 43,243,68,42, 135, 254, 63, 295* 2
55,245,83,81 ,35,255,284
28183 DATA 243, 63, 252, 8, 8, 8, 12, fl, 32# 8,3#
132,8,8,8
28134 DflTfl 8,8,8,8,8,8,8,8,8,8,168,32,5,
28 1 85 DflTfl 1 63 , 42 , 1 78 , 2 1 , 73 , 245 , 8 , 8 ,0,4,
■+, ± jb-j/ >i!,b
20136 DflTfl 0,3,0,11,255,255,132,0,0,0,0,
8 , 8 , 8 , 8
£8137 DflTfl 8,0,0,0,42,170,138,170,170,42
, i bo , 1 b-.i , O-J , £JJ , ^4- .J
28138 DflTfl 127,241,63,255,287,207,207,25
5,132,0,0,0,132,12,9
20133 DflTfl 8,8,8,8,8,8,8,8,8,8,8,8,8,2,1
78
28 1 38 DflTfl 168,18,178,1 68 , 1 78 , 1 68 , 1 , 84 , 1
65,78,5,81 ,85, y5, 287
£8131 DflTfl £87, £07, £55, £48, 0,0, 0,0, 12,0,
0,0,0,0,0
£8 1 92 DflTfl 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8
£8 1 33 DflTfl , , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8
£8134 DflTfl 8, 8, 43, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8
,8
£8135 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8,8, 8 , 8 , 8
28136 DflTfl 8,8,8,8,8,8,8,8,8,8,8,8,12,12
,8
£8 1 37 DflTfl 8 , 8 ,8,8, 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8
28 1 98 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 *0 , , 8 , 8 , 8 , 8 , 8 , 8
£8133 DflTfl 8, 8, 8, 8, 8, 8, 8, 3, 1£, 8, 8, 8, 8,8,
28288 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , , 8 , 8 , 8
2828 1 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 ,8,0,0,0, 8
£8282 DflTfl 8 , 8 , 8 , 284 , 8 , 8 ,8,8, 8 ,8,8,8, 8 , 8
,y
£8283 DflTfl 0,0, 8 , 8 ,8,8,8, 8 , 8 , 8 ,8,8, 8 , 8 , 8
28284 DflTfl 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 , 48 ,
28285 DflTfl 8 , 8 , 8 , 8 , 8 ,8,8,8,8,8,8,8,8, 8 , 8
28206 DflTfl 8 ,0,8,8, 8 , 8 , 8 , 8 , 8 , 8 ,8,8,8,8, 8
SAFE CRACKER • 55
20207 DATA 0,0,0,0,0,0,0,0,12,0,0,0,0,0,
20208 DflTfi , , ,0,0, , , , , ,0,0, , ,
20203 DATA 0,0,0,0, , @ , , , , a , a , , @ , ,
20210 DATA 0,0,0,0,12,0,0,0,0,0,0
30000 BVT=40 : L I N=79 : 8R=? : C< >=6 : C< 1 >=0 : C
( v }= 1 48 : C< 3 >=70 : C< 4 >=0
30010 RESTORE 20000: FOR P=l TO 3143
30020 READ A : D*C P , P >=CHR*': A ;■
30O30 NEXT P
30040 RETURN
TANK BATTLE
(Two joysticks)
In this game, designed for two players, you move your tank
and fire so as to destroy your opponent. This gives you one
point. Pushing the joystick up activates the tank's engines
and propels it forward. Push the joystick left and right to turn
left and right, respectively. Push the red button to fire. Good
hunting!
2 REP! t
TRNK BATTLE
— - j— jj - rn -*■
o rtc.ii ■"■
4 REH #
Hr
itten by Paul Bunn
Kt.fi -"j"--*;"-''
; : .. : ; : .. : ; : -.v-. : ; : --v-
fc$&tttt£&&t'&tttttt
-■ pj r - m
D Pii—i i
Ifi DIH F1*<20)#F2*<20>*X<8>»V<8>!FI*<1>=
CHR$< i 72 > : F 1 $< 20 >=CHR$< 1 72 > : F 1 1-< 2 >=F 1 $ : F
-i.t_u ii
£.4— » j f j j j j u / i i ; j j
20 RhP1=PEEK< 196 >-16: POKE 756*RflT): IF PEEK
(203K>200 THEN 80SUB 890! POKE 203*206
30 RESTORE 360: FOR Q=i TO 8:REftD XX#W:X
( q >=yy : V< Q >=VV : HtXT Q s C 1 = 1 s C= 1
40 GRAPHICS 2
50 '? #6;" tank battle ! '
60 ? #Si H ttt&ttttttttt"
70 ? :? " ENTER TIRE TO PLFiV "a INPUT TI
80 REP1
Hfi GRAPHICS 17: POKE 756, RON: Fl = 14: F2=14:
X=5:V=14:Q=15:H=5:FFl=i:FF2=l
100 3=STICK<0>:IF 3=7 THEN 0=0+1: IF OS
THEN C=l
: C<1 THEN 0=8
56
TANK BATTLE • 57
1£@ IF S=14 THEN COLOR 32" PLOT X.»V:X=X+X
( r: ) ; v=V+V< C ')'• SOUND 8 #288*8 #8
ISO IF S<>14 THEN SOUND 0,6,0,0
146 IF X<2 OR SMS THEN X=X+-X<C*:X=<X=2
)«8+<X=18>:*:2
150 IF V<2 OR VMS THEN ¥=Y+-Y<C>: V=< V=2
>tl 8+'; ¥=18 >$2
ISO COLOR C:PLOT X*V
170 IF STRI8<8>=8 AND FF1=1 THEN GOSUB 3
ISO IF 3TRIG<1>=8 AND FF2=1 THEN 80SUB 5
ISO S=STICK<1>:IF S=7 THEN C1=C1+1:IF CI
>S THEN Cl=l
2O0 IF S=ll THEN Cl=Cl-l:IF Cl<2 THEN CI
219 IF s=i4 THEN COLOR 325 PLOT Q # H"Q=Q+X
< C1>:W=W+V< CI >: SOUND 1,188,8,8
220 IF S<>14 THEN SOUND 1,0,0,0
230 IF Q<2 OR QMS THEN Q=S+-X< CI >: Q=<Q=
2)$i8+< Q=18>$2
240 IF N<2 OR H>18 THEN W=N+-V< C 1 > : H=< H=
1 s J-&2-K H = 2 )•& i s
250 COLOR CI : PLOT Q,M
280 IF FK1 THEN POSITION 8,21:? #6, "out
o t shots " : FF 1 =0 : SOTO 280
270 POSITION 8,21:? #6i"shotsl"iFl$( 1,F1
--. - II !1
/ j»
2S8 IF F2<1 THEN POSITION 8,22:? #6; "out
of shots" :FF2=6: 88T8 388
2S8 POSITION 0,22:? #6; "shots2" ;F2*< 1,F2
■-. . ii H
.-' j
3yy POSITION 5j«0«? #6#Sls POSITION 15*m:* ?
#6*82: POSITION 8,0:? #6; "TIPIE" : POSITION
3r 1 « I »b, il'1 I '-. i ± .' r
310 IF PEEKX 5327S >=6 THEN 88T0 38
320 Tl=TI-8. lsIF TK8.1 THEN 888
338 80T0 108
340 x 1 =X+X< C > : V 1 =¥+V< C )
358 IF C=l OR C=5 THEN FC=18
388 IF C=3 OR C=7 THEN FC=12
370 IF C=2 OR C=G THEN FC=11
58 • GAMES FOR YOUR ATARI COMPUTER
38U IF C=4 OR C=8 THEN FC=13
336 FOR F=l TO 5: LOCATE XI .»Y1 « XX: COLOR F
C:PL0T XI, Yl
4fiM IF XX<>32 AND XX<10 THEN hH:=;I IB 700 :S
i=Sl+l:HH=ls80T0 450
410 SOUND 0,255-F*50,8, 15: SOUND 1,150-FS
30,8,155
420 IF Xl>18 OR XK1 THEN 450
430 IF Vl>18 OR VK1 THEN 450
440 X1=X1+X<C>:Y1=Y1+Y<C}:NEXT F
460 FOR E=l TO 5: COLOR 32: PLOT XI, VI
470 IF Xl>18 OR XK1 THEN 500
48W IF Vl>19 OR VK1 THEN 500
490 Xl=Xl+X<C):Vi=Yi+Y<C>:NEXT E
500 SOUND , , , : SOI IND 1 , 9 , , : F 1 =F 1 - 1 :
IF HH=1 THEN HH=0:GOTO 90
510 RETURN
520 X2=Q+X< C 1 > : V2=H+V< C 1 )
530 IF Cl=l OR CI =5 THEN FC=10
540 IF Cl=3 OR Cl=7 THEN FC=12
550 IF CI =2 OR CI =6 THEN FC=11
560 IF CI =4 OR CI =8 THEN FC=13
570 FOR F=l TO 5: LOCATE X2,V2, XX: COLOR F
C:PLOT X^,V2
580 SOUND m , 2^5— F:^^m , F: , l Pi : ;=;i"ti IND 1*150-F#
30*8,15
590 IF XX<>32 HND XX<10 THEN GOSUB 750: S
2=S2+l:HH=l:60T0 636
GOO IF X2>18 OR X2<1 THEN 630
610 IF V2>18 OR V2<1 THEN 630
620 X2=X2+X< C 1 > : V2=V2+V< C 1 '? : NEXT F
630 X2=Q+X( CI >! V2=N+V( CI )
640 FOR E=l TO 5: COLOR 32: PLOT X2A'2
650 IF X2>18 OR X2< 1 THEN 680
660 IF V2>19 OR V2< 1 THEN 680
670 X2=X2+X(C1 ): V2=V2+Y< CI >:NEXT E
680 SOUND O , O , O , O : SOUND 1 , ,8, : F£=F2- 1 :
IF HH=1 THEN HH=0:6OTO 36
690 RETURN
700 FOR 6=15 TO STEP -3
™
TANK BATTLE • 59
71@ FOR H=8 TO 2
720 SOUND H,RND< 1 X&58+ 100,8 »6
730 NEXT H
740 NEXT 6: FOR 8=0 TO 2: SOUND 8,0,8,0: NE
XT 6:p,ETURN
758 FOR 8=15 TO 8 STEP -3
768 FOR H=8 TO 2
778 SOUND H,RND< 1 ;'*58+ 1 08 , 8 , 6
788 NEXT H
738 NEXT 8: FOR 8=8 TO 2: SOUND 8,8,8,8: NE
XT b:p.ETUKN
see position 5,10:? #6;"6AnE ouer"
818 S1=0: S2=0: FOR 0=1 TO 5
820 SOUND O , 1 ee+C ,10,15: SOUND 1,1 20+C , 1
,15:SUUND 2,80+0,18,15
838 0=0-1: IF 0=-36 THEN 858
840 SOTO 828
850 0=0: NEXT Q
860 FOR Q=0 TO 2: SOUND Q,0, 0,0: NEXT Q
870 IF PEEKX 5327S )=6 THEN RUN
388 POKE 53278,8: SOTO 378
898 FOR Q=8 TO 1824: fi=PEEK< 57344+Q >: POKE
KAP1S258+Q,A:NEXT Q:C=8
800 READ R:IF A=-l THEN RETURN
910 POKE RfiP!£L£56+C , A : 0=0:+ 1 : GOTO 300
920 DATA 24,24,213,213,255,255,255,219,2
5,58,188,249,187,62,12,^4,254,254,48,127
, lii7,4o * 254 * £.54
325 DATA 24,12,62,1 87 , 243 , 1 00 , 50 , 25
330 DATA 213,255,255,255,213,213,24,24,2
4,50, 124,221 , 153,38,76, 152
335 DATA 127,127,12,254,254,12,127,127,1
52,76,38, 159*221 , 124#50#24
940 DATA 112,120,248,254,255,127,68,56,2
4,24,24,24,24,^4,24,24,1,2,4,8,16,32,64,
1 28 , , , , ii55 , ii55 , , ,
950 DATA 128,64,32,16,8,4,2,1,-1
368 DATA 8,-1,1,-1,1,8,1,1,8,1,-1,1,-1,8
^ -i
DIGIT DODGE
(Keyboard)
Use the keys "Z" and "X" to move your number cruncher.
Press "." to shoot and crunch any numbers the same as those
shown on the number cruncher. Destroying a mystery
points character ("*") adds a bonus to your score. When the
invading numbers reach your digit dodger, the game is over.
v bu ( U i ■;•-_•« hfc.11 ■■;••••;•■ Uibi I uuubt dt r.eUNN
1 FOR 1=59 TO 75 STEP 2: SOUND 8., 1 ,16, 15:
NEXT I:I=y:V=Pl+48:IF r1=10 THEN V=l@
2 Q$=CHR*<¥>:IF fl*< 1 , 1 >=Q$ THEN I=1:S=S+
U3
3 IF fi$<2,2>=Q* HND 1=0 THEN H*<2,2)=fl*<
IjI >: I=l:S=S+28
4 IF H*<3,3>=Q$ HND I=0 THEN fi*< 3 , 3 >=f\$<
2.2 >: M< Z*2 >=H*f: 1 , 1 >: I=i : S=S+38
5 IF H*'::4,4::'=Q$ HND 1=0 THEN fl$< 4 , 4 >=(&<
3,3>:fi$'::3,3 >=A$'::2,2 >:fi$< 2,2;'=fi*<:: 1,1 >: 1 = 1
: S=S+40
6 IF H*':5,5>=Q* AND I=0 THEN fi*< 5 , 5 >=H$<
4.4 >: ftp:. 4,4 >=fi$< 3,3 >: R$< 3,J >=H$< 2,2 >: 1 = 1
: S=S+50
7 IF R$<8#8>=Q* AND 1=0 THEN H$< S , S ;=(&<
5.5 >: fl$< 5,5 >=fi*< 4,4 >: fl$< 4,4 >=H*< 3*3 >i H*';
3.3 ;'=H$< 2*2 >: 1 = 1 : S=S+Sti
3 IF 1=1 THEN fl*<l,l>=" ":N=N+1
10 IF 1=1 HND Q*=CHR*< 10> THEN FOR 1=255
TO 20 STEP -IS: SOUND 0,1 , 10, 15: NEXT I:S
=S+< INK RND< ::'S7+3 >tl00 :.'
11 POSITION 1,0:? #S,-SC*iS:? #bi" high J
";HS
12 SOUND 8,0,0,0: RETURN
20 FOR 1=14 TO STEP -2: SOUND 0,H+ 15*38
,10,1: NEXT I : RETURN
135 DIP! ftK"6).»Q$< 1 >,SC$< 6):G0SUB 2088
140 GRAPHICS 2:SETC0L0R 4,2,2: SETCOLOR 2
60
DIGIT DODGE • 61
•-: A
158 A$=" ":fl*<6#6>=CHR*< RND< 8 >$3+48 :>
1 60 S=0 : N=5 : H=0 : U= 1 8 : GOSUB 1 1
165 V=P1+48:IF Pl=10 THEN V=10
176 P03ITI0H 5,5:? #6iCHR*< V>; " : " ;A$
1 80 I =PEEK< 764 >: 1 2=PEEK< 53775 >
198 IF 1=22 AND 12=251 THEN 1*1=11+ 1 : GOSUB
20: IF Pl>10 THEN 1*1=0
200 IF 1=23 AND 12=251 THEN 1*1=0-1: GOSUB
20: IF PK8 THEN 11=10
210 IF 1=34 AND 12=251 THEN GOSUB 1
215 1=0
220 TRAP 1000:0=0+1: IF <MJ=INT<Q/U> THEN
H*(N,H >=CHR*< RND< O >* 1 0+48 > : I = 1
222 IF 1 = 1 THEN IF U$< N,N;'=CHR$<58:> THEN
fl*(N,N)=CHR*(ie)
224 IF 1=1 THEN N=N- 1:1=0
225 IF INT'::RND<0>:?:20;'=3 THEN U=U-i:IF U<
8 THEN U=8
230 TRAP 40000: GOTO 165
1000 ? #6:? #6;". . invaded. . ":FQR 1=90 TO
220 STEP ll:FOR H=80 TO 90 STEP 2: SOUND
0,H, 10* 15: SOUND 1,1,10,15
1010 SETCOLOR 4,H,4
1020 POKE f"09,INT'.:RND<0>:?:l5>Sie+8
1030 NEXT H:NEXT I : SETCOLOR 4,2,4: POKE 7
r- a -ice
1 040 SOUND , , , : SOUND 1 , , , : I F S >HS
THEN HS=S: POSITION 0,2:? #6 i "high score
1 I | | II
1050 ? "ANOTHER TRV "*:TRfiP 1050: INPUT A
.+-
JE-
1855 IF A*< 1,1 >="N" THEN GRAPHICS 0:? "G
OGOBVE. ":? :? :END
I860 IF fi$<l,l>= H V M THEN 14W •
1078 GOTO 1858
2888 FOR P=l TO 6
2818 READ N
2828 sc*<p,p>=chr*':n::'
2838 NEXT P
2848 DATA 243 , 227 , 239 , 242 , 229 , 1 86
2858 RETURN
GRAND PRIX 2
(Joystick)
Use the joystick to control the car as it speeds down the
track. If you manage to reach the finish you win a bonus and
step value is doubled for your next run.
18 REP! t* GRAND PRIX 2 - P.BUNN tt
15 P I =5 : SOSUB 3000 : CRPSH= 1 088
28 X2= 1 4 : X= 1 1 6 : S=PEEK< 1 88 >-8 : Q=S£256 : FOR
N=Q+512 TO Q+648:P0KE N, 8: NEXT N:POKE 5
4279,3
38 POKE 559,43: POKE 53248, X: POKE 784,216
:POKE 784,78: POKE 53258,1
48 FOR N=Q+552 TO 0+561: READ ft: POKE N,A:
NEXT N
58 DflTfi 129,135,165,24,24,153,213,165,36
,ii'4
88 GRAPHICS 8:SETC0L0R 2,8,8: POKE 53277,
3: POKE 559,46
85 POKE 752,1: POKE 53278, A
66 FOR P=8 TO 23: POKE 281,X2:? ,32$: NEXT
r
78 :-;=>; T I HK 1 - 8 > : X=X+"- 3=7 >$2 : X=X-( 3=11 -'£2 : P
OKE 53248, X
72 SOUND 8 , 48 , 1 8 , 1 5 : SC=SC+P I : SOUND 8,8, 8
,8
75 IF THEN 0=8 :Z=2: GOTO 118
88 H=PEEK':: 53778 >
98 IF A>85 AND fl<178 THEN Z=2
188 IF H>178 AND X2<15 THEN Z=3:0=l
185 IF A<85 AND X2>2 THEN X2=X2-1:Z=1:0=
1
118 POKE 281,X2
115 IF fi=132 AND NOT I THEN ? ,F$:I=l:G
0T0 145
128 IF Z=l THEN ? ,81*
62
GRAND PRIX 2 • 63
139 IF Z=2 THEN ? ,S2$
148 IF Z=3 THEN ? ,S3$:X2=X2+1
145 V=PEEK< 53252 >: IF V<>8 AND I THEN GOT
2000
150 IF VO0 THEN GOTO CRASH
160 GOTO 7G
1000 REP1 :?::?: VOU CRfiSHED! ##
i@l@ N=INT<RNCK8>#18>:P0KE Q+552+N,PEEK<
53770 >: SOUND 8*RNCK8>:fc28+28#80, 15: POKE 7
04 ,PEEK< 53770)
1020 IF PEEK< 53770X240 THEN 1018
1030 POKE 53248,0:"' :? "VOU SCORED :" ; SC :
? :? :? "HIT HNV KEV.":POKE 764,255
1035 SOUND 8,8,0,8
1040 IF PEEK< 764 >=255 THEN 1040
1050 RUN
2000 FOR V=8 TO 255: POKE 710, V: NEXT V
2005 _? CHR*C125);"VGUR SCORE :";SC:POKE
7 1 8 , 8
2010 ? " BONUS : 1888": B= 1868
2828 FOR 6=1 TO 1800 STEP 185B=B-10!SC=S
C+ 1 O : POS I T I ON 14,8:? SC : POS I T I ON 14,1: ?
Bj" ": SOUND 8,G.--4, 10, 10: NEXT G
2030 SOUND 0,0,0,0
2040 ? :PI=PI*2:? "STEP UfiLUE NOH IS " ;P
2045 RESTORE : 1=0
2858 GOTO 28
3000 DIPT Ff<8>,Sl$ i : y>,S2*<8>,S3f<8>
3010 RESTORE 3000: FOR P=l TO 8
3020 READ fl,B,C,D
3830 F$<P,P>=CHR$<fi)
3040 S1$<P,P>=CHR*':B>
3859 S2*'::P,P>=CHR$':C>
3060 S3$':P,P;'=CHR*<D>
3070 NEXT P
3088 RESTORE : RETURN
3830 DflTfi 160,6,22,7,1 38 , 32 , 32 , 32
3 1 OO DflTfi 20 1 , 32 , 32 , 32 , 286 , 32 , 32 , 32
3118 DflTfi 201,32,32,32,211,32,32,32
3128 DflTfi 288,32,2,32,168,6,32,7
CITY BOMB
(Joystick)
Your plane has developed engine failure and is slowly de-
scending on a city below. By bombing the city, and killing
millions of people, you will be able to land safely — otherwise
you will crash! Press the joystick button each time you want
a bomb to drop.
D
^*
D
^p*
,D
4
&
#L
**
n.
«
D:.
• •
. • ,
■
*
*.
'ssstess
M
CITY BOMB • 65
i@ repi x:mxx:mxxxx:mxxxx:mxxxxxx
20 REP1 XX CI TV B0P1B UERSION II tt
36 REH tt WRITTEN BV PAUL BUNN *X
40 REP1 tt JANUARY 1383 XX
50 REP1 ttttt^ttt:ttttttttttttttttttttt
S0 REP1
S5 IF PEEK< 203 >=PEEK': 106 >-8 THEN 80
70 80SUB 10000: REP1 * INITIALIZATION t
80 GRAPHICS 8:SETC0L0R 2*8 #0: SETCQLOR 4*
y*y
90 OPEN #1 #4*0* "K: tt : POKE 752,1
100 ? "WHAT SKILL LEUEL <1-S>"
110 SET #l*A:A=A-48
120 IF fl<l OR A>3 THEN 110
130 A=A+3
135 POKE 756 * PEEK-: 283 >
140 ? CHR*'::i25>:F0R 1 = 1 TO 33
150 V=INKRND<0>:?:fl>+l
160 FOR P=22 TO 22-V STEP -1
170 POSITION I,P:? "*":REP1 XCITV CHARACT
ER *
188 NEXT P
130 FOR P=15 TO O STEP -1
20O SOUND 1 1 $S+2@ * 10* P
£18 NEXT P
220 NEXT I
230 COLOR 34
240 PLOT 1*23:DRAWT0 33*23
25@ y= i : y=@ : BP1=0 : SC=0
£S0 POSITION X,V:OX=X:OV=V
270 PRINT "■;"*: REH XPLANE CHARACTER*
280 X=X+l
230 IF X=33 THEN X=l:¥=¥+1
300 IF X>25 RND V=22 THEN 1000:REPi XP1ADE
IT!*
310 LOCATE X*V*Z
320 POSITION OX*OV:? m "
330 IF Z=ASC< "*";■ THEN 2O08:REP1 XCRASHX
340 IF STRIS':0>=0 AND BP1=0 THEN 80SUB 30
90: REH X BUTTON ROUTINE *
350 IF BP1=1 THEN GOSUB 4000: REP! X P10UE B
66 • GAMES FOR YOUR ATARI COMPUTER
OHB ROUTINE $
368 GOTO 268
1888 POSITION 13,18:'? "LANDED !"
1818 POSITION 13,11:? "*&%*%.%%*"
1828 FOR T=8 TO 6888 STEP 28
1838 SOUND 0,1*10,15* NEXT T
1835 SOUND 0,0,0,0
1848 ? CHR*< 125 >i "WELL DONE , VOUR SCORE
HAS "iSC
185U LNU
2888 POSITION X-1,V-1
2818 ? CHR*< 7 ) i CHR$< 1 24 > i CHR$< 6 )
2828 POSITION X-1,V
2838 ? "-t-"
2848 POSITION X-1,V+1
2858 ? CHR$< 6 ) i CHR$c: 1 24 > ; CHR$< 7 )
2868 I- OR F-288 TO 18 STEP -18
2878 FOR I=P-5 TO p+5
28S8 SOUND 8,1,128,15
2898 NEXT_I_
2118 SETCOLOR 2,C,2: SETCOLOR 4,C,2
2128 NEXT P
2138 SOUND 8,8,8,8
2148 POSITION 6,105? "Another try ?"
2158 SET #i,A
i i bW i r Lntv»< m .- ! — t i HfcN hUN
2178 IF CHR^Axy'N" THEN 2158
2188 GRAPHICS 8: END
3888 Bfl= 1 : BX=V, : BV=V+ 1 ! K=0: RETURN
4888 POSITION BX , BV : ? " "
4818 BV=B¥+l: LOCATE BX,BY,Z
4828 POSITION BX,BV
4838 ? CHR$< 33 ) : REH ^BOHB CHARACTERS
4848 IF Z=ftSC< "$" ) THEN 5888
4858 IF BV=22 THEN POSITION BX,22:? ;: ":
Bn=0
4868 RETURN
5888 POS I T I ON BX , BV : ? " & " : SOUND 8 , 238 ,12
0, 15: su^ot+Sy
5818 POSITION 2,8: ? "SCORE: " iSC
CITY BOMB • 67
5@2@ K=K+l:IF K=5 THEN BH=@: POSITION BX
5036 POSITION BX,BV:? " "
5040 SOUND 0,0,0,0: GOTO 4050
1O000 GRAPHICS O
10O10 SETCOLOR 4,9,0: SETCOLOR 2,9,0
1O012 ? "CI TV BOriB - PLEASE WAIT"
1O014 ? ,, :mS:¥:S:mtt:msW»tt« ,,
iOOlS POKE 752,1: PRINT
1O020 R=PEEK< 186 >-8
10O30 FOR P=0 TO 1023
10040 POKE R£25S+P,PEEK<57344+P>
1005O NEXT P
10060 READ I
10070 IF I<0 THEN POKE 283, R: RETURN
1008O FOR P=0 TO 7
1O090 READ K
10100 POKE R$256+': 8*1 >i-p,K
1O110 NEXT P
10129 GOTO 10060
10130 DATA 4,255,129,129,129,129,129,
129
1014O DATA 5,16,8,132,194,255,2,4,8
10150 DATA 6,170,85,170,85,170,85,170^
10160 DATA 7,0,36,60,24,24,60,24,0
1017O DATA -99
ENGULF
(Keyboard)
In control of the space-cruiser Battlestar, you must engulf an
alien by destroying all the sectors of space around it. Neither
you nor the alien (shown as a letter A) can move onto the
outer border of the area of space under view (these forbid-
den areas are shown as "-"). The alien moves one, two or no
spaces in any move, and you enter your move as two co-
ordinates, pressing RETURN after each one. Any area you
blast appears as a blank in the area otherwise shown as
asterisks. You engulf the alien by totally destroying all the
squares onto which it could move. You are not allowed to
land on the alien, and will destroy yourself if you do so.
The alien keeps a watch on the space around it, and signals
to your computer the degree of danger it senses, so you
know, more or less, what the alien is thinking.
The best strategy is to get the alien trapped against one of
the sides, as it limits the alien's possible moves. The alien is
aware of this and, using the "intelligence" in lines 6145 and
6161, will tend to move away from the sides, to minimize the
chance of being trapped. Knowing this, you may be well-
advised to build a "fence" of blank areas in a curve around
the alien, trying to hold it into the sides, or force it to move
to the sides.
There is a highest score feature.
1 _ SRAPH I CS @ : SETCOLGR 4 , 8 , @ : SETCGLOR 2 , 8
3 Din H< 18*18)
5 HISCORE=S
10 REN ENGULF
20 REH COHHRTNELL 1982
30 GOSUB 9000: REP1 INITIALISE
40 GOSUB 8000: REP1 PRINT GUT
68
ENGULF • 69
58 GOSUB 70@ti: REH ACCEPT PLOVER DECISION
60 GOSUB 6000: REP! UPDATE ALIEN
70 TIP1E=TIP1E-1
75 SHOTS=SHOTS+l
80 IF TIP1E=0 THEN 6570
85 GOSUB 8800
90 GOTO 50
910 fnk=30
5000 REP1 COLLISION
5810 PRINT "VQU HIT THE PiLIEN, CAPTAIN"
5020 PRINT "AND HAUE BEEN DESTROYED"
5030 GOTO 6570
6000 REP1 UPDATE ALIEN
6010 REP1 CHECK IF SURROUNDED
602O H=@
6030 IF A<P1-1,N>=2 THEN H=H+1
6040 IF A<::P1-1,N-1 >=2 THEN H=H+1
6050 IF A<n,N-l>=2 THEN H=H+1
6060 IF A<P1,N+1>=2 THEN H=H+1
6070 IF fKH-l,N+l>=2 THEN H=H+1
6080 IF A<Pi+l,N+l >=2 THEN H=H+1
6090 IF A<Pl+l,N-i::'=2 THEN H=H+1
6100 IF Aai+1,N>=2 THEN H=H+1
6110 IF H=8 THEN 65O0:REP1 SURROUNDED
6120 REP1 PIOUE ALIEN
6125 E=Pl:F=N
6130 n=Pl-INT< RND< 1 >&2>+INTCRN0< 1 >$2>
6140 IF PK2 OR H>9 THEN 6130
6145 IF <PK4 OR N>7> AND FMK1»0.7 THEN
6136
6150 N=N-INT<RND< 1 >*2>+INT(RND< 1 ::'S2>
6160 IF N<2 OR N>9 THEN 6150
6161 IF >:N<4 OR N>7> AND RND-: 1 > >0 . 7 THEN
6150
6162 IF A<P]j.N>=2 THtN 6130
6165 A£E#F>=0
6170 A<P1,N>=1
6300 RETURN
6500 REP1 SURROUND
6505 GOSUB 8000
70 • GAMES FOR YOUR ATARI COMPUTER
6518 PRINT "ENGULFED! WELL DONE"
6520 PRINT "IT TOOK VOL! " i SHOTS ;" SHOTS"
fi^7.fi PRINT "AND VOU DID IT WITH "iTIHE;"
T I PIE UNITS" m "LEFT"
6540 Q=TinE*i25.b7
6550 PRINT "VOUR RATING IS "iQ
6560 IF Q>HISC0RE THEN HI3C0RE=Q
6576 PRINT "HIGHEST SCORE SO FAR IS "iHI
SCORE
6589 PRINT
6530 PRINT " ENTER 1 FOR ANOTHER GAHE,2 T
END"
6606 INPUT A
6610 IF A=l THEN 10
6620 PRINT "OUER AND OUT , CAPTAIN"
6630 END
700O REf! ACCEPT PL AVER DECISION
7O10 PRINT "WHICH SECTOR WILL VOU SHOC
7O20 PRINT " ACROSS "i
7030 TRAP 7O30: INPUT S STRAP 48000
7035 IF S<2 OR S>3 THEN 7030
704O PRINT Si" AND DOWN";
7O50 TRAP 7O50: INPUT R:TRAP 40808
7055 IF R<2 OR R>3 THEN 7050
7OS0 IF A<R,S>=1 THEN 5888: REF1 HIT ALIEN
«END OF GAPE
7O70 IF A'::R,S>=2 THEN PRINT "SECTOR ALRE
ADV DESTROYED "! FOR P=20O TO 255: SOUND 0,
P , 18 , 1 5 : NEXT P : SOUND 8 # * 8 *
7090 IF A'::R,S>=2 THEN RETURN
7100 PKR#S>=2
7110 RETURN
S00O REH PRINT OUT
3885 PRINT CHR$<125>
SO20 PRINT
8O30 PRINT " ALIEN SENSES DANGER OF F
ACTOR-" i Hi" !;
SO50 PRINT "6ATTLESTAR COMPUTER REPORTS:
%, "HIGHEST SCORE IS "iHISCORE
3060 PRINT
iTLIT II
ENGULF • 71
HUSO PRINT
3990 PRINT B ALIEN NOH AT " i\\i" " iY\
3100 PRINT
I HE, "SHOTS F
3110 PRINT "TIHE LEFT
ED? u i SHOTS
yi^y PRINT
3130 FOR K=l TO 10
8140 FOR J=l TO 10
-j - ? .-i CC70Q 1 '"-1 "
814=
KAZ UR K>H
K2 OR J>3 THEN PR
UR J >9 THtH 8 1
3150 Ih A<K,J}=0 THEN PKIN1
, K£y+ J3-4 j 1 @ i 1 5
8130 IF fl<K,J}=l THEN PRINT "fi"i:FOR P=2
TO STEP -l: SOUND 8,P, 12j 15: NEXT P
3170 IF A<K,J>=2 THEN PRINT " " ; : FOR P=4
O TO STEP -2: SOUND 0,P,8,15:NEXT P
8180 SOUND 0,0,0,0: NEXT J
3190 PRINT K
8200 NEXT K
821W PRINT
3390 RETURN
3000 REP] INITIALISE
3010 TIf1E=30
9020 SHOTS=0
3030 H=0
3050 FOR B=l TO 10
9055 FOR 0=1 TO 10
9060 H<B,C>=0
9065 IF B<2 OR B>9 OR C<2 OR C>3 THEN A<
B,C )=2
3067 NEXT C
9070 NEXT B
90S© n=INT(RND< 1 )*7;'+2
3090 N=INT'::RND': 1 ;'*7>+2
9100 A<P1,N>=1
9900 RETURN
COLOR
PATTERN
This short program produces a pattern in graphics Mode 10
and then gives a hypnotizing effect by rotating the colors.
iy liRHPHIL'S iy
29 POKE 704 .,: 8
40 POKE 706 i 3$ i 6+4
50 POKE 707,. 12
55 POKE 708 j. 1 2
RPi FOR X=S in 79
yy uQLQR C
90 PLOT X*X
100 DRflHTO 79 — X#X
HO DRflHTO 79-X*191~X
120 DRflWTO X r 1 9 1 -X
130 DRflHTO X*X
4 .4 C rsrrrfl ■. l -"- 1 -- CtfYTfVTC :~i~i ~ii IDC'
L*rD Kfcl I •■;-••-:■• nu i H i c L-Ul_UUrSo
ISO fl=PEEKX 705 )
160 POKE 705 J PEEK<706; 1
170 POKE 706 j. PEEK w 07)
185 POKE 707,PEEK<708>
186 POKE 708* fi
190 H=8IN<fl>:REH » DELftV
200 60T0 150
72
COLOR
PUZZLE
(Keyboard)
This marvelous puzzle should prove challenging to solve.
Here are the rules.
The first four moves must be placed in the four corners
(01,10,16 and 25).
To place a color square on the grid, it must be next to
another square horizontally or vertically, not diagonally. A
color square must not be placed next to another color
square of the same color in the eight squares around it.
Proceed to place color squares in this fashion until all 25
spaces are filled.
The squares are numbered as follows:
10
05
11
17
02
06
12
18
22
01
03
07
13
19
23
25
04
08
14
20
24
09
15
21
16
Note that a zero is required before a single digit, and that
RETURN does not have to be pressed. If an illegal move is
attempted the computer will bleep. When you cannot move,
just type "99".
73
74 • GAMES FOR YOUR ATARI COMPUTER
20 REM ti BV PAUL BUNN tt
3@ GRAPHICS 1@
49 POKE 704 .,12
50 POKE 705., 3$ 16+4
60 POKE 706*12*18+6
70 POKE 707 , 7$ 16+2
80 POKE 70S , 15X 16+4
90 POKE 769*0! POKE 710*15*16+10
100 COLOR 6: POKE 703,4
110 FOR X=8 TO 46 6TEP 8
120 READ V
130 FOR X2=8 TO 7
140 PLOT X+X2+12,98-V
150 DRfiWTO K+X2+12*90+V
160 NEXT X2
170 NEXT X
180 DATA 10,30,^0*70,50,30*10
130 DN1 X<25>,V<25>
200 FOR X2=l TO 25
2 1 READ X , V : X< X2 >=% * V< K2 >=V
220 NEXT X2
230 DATA 12,80,20,60,20,80*20,100
240 DATA 28 * 40 , 28 * 60 , 28 , SO , 28 , 1 00
250 DATA 28 ,128, 36 ,20,36, 40 , 36 , 68
260 DATA 36 , 88 , 36 * 1 00 ,36,1 20 ,36,1 40
270 DATA 44 , 40 , 44 , 68 , 44 , 88 * 44 , 1 00
288 DATA 44 , 1 20 , 52 , 60 , 52 , 88 , 52 , 1 08
288 DATA 68,88
388 F6R P=l TO 25: COLOR 5: PLOT X<F>+3*'i
P !■■+ 1 6 : NEXT P
318 OPEN #1*4,8,"K:"
311 C£IL=INT<RND<0>&5>+1: COLOR C8L
312 B=B+< C0L=3 '•' "• R=R+< COL= 1 > '• 6=G+< CQL=2
VL=VL+< C0L=4 >: BL=BL+< C0L=5 >
313 IF COL=l AND R>5 THEN R=5:60T0 311
314 IF C0L=2 AND 8>5 THEN 6=5* GOTO 311
315 IF C0L=3 AND B>5 THEN B=5i60TQ 311
316 IF C0L=4 AND VL>5 THEN VL=5:GC
COLOR PUZZLE • 75
317 IF C0L=5 fiND BL>5 THEN BL=5:G0T0 311
313 FOR P=8 TO 10: PLOT P*0:DROWTO P*2©:N
EXT P
329 GET #1,KEV:KEV=KEV-48:KEV=KEV*10
325 GET #l,KEY2:KEV=KE¥+KEV2-48
326 IF KEV=33 THEN 2000
327 IF KEV<1 OR KEV>25 THEN PRINT CHR$<2
53 ) ; GOTO 320
330 LOCfiTE K-::KE , t'>/t'«:KEV> j C
340 IF COS THEN PRINT Cf-R*< 253 ): GOTO 32
y
350 IF KEVOl fiND KEYO10 HND KEVOIG ftN
D KEV025 HND K<4 THEN PRINT CHR*-: 253 >:6
0T0 320
7C"C
i. I. I
IF J=l THEN K=l
360 IF KEV=1 OR KEV=10 OR KEV=16 OR KEV=
25 THEN K=K+l:IF K=4 THEN J=i
370 X=X< KEV >+3 : V=V< KEV >+ 1
380 LOCATE X-6*V.»C1
j.Hy u-J : -^r-i : E ■•'•■ — o j f ~ i.
J Ud
408 LUUHTh XjW-i? -L':
'-? i KJ L-UwH : C. ="i > C» j T — i i j L-M"
420 LOCfiTE X+6,t,C5
430 lochte y+e^v-t-iz^ce
440 LOCfiTE X* ¥+17,17
,-i C;~j : : — : i — * i~ i "T" ! : .. : i~* I I l i ""? I - 'i~i
■+-_"3 lULm ! c :i - bjT + if iLo
460 IF C1=C0L OR C2=C0L OR C3=C0L OR C4=
COL OR C^=COL OR C6=C0L OR C7=C0L OR C8=
COL THEN ? CHR#( 253): GOTO 320
470 ij=i; c 1 =6 >+< C3=6 >+< C5=S >+< C7=6 >
473 I =< C 1 =0 >+< C3=0 >+< C5=0 >+< C7=0 >
475 IF LS+I=4 fiND K>4 THEN PRINT CHR*< 253
>!60T0 328
430 COLOR COL
4S5 X=X< KEV > : V=V< KEV )
430 FOR P=0 TO 7
500 PLOT X+PiV
510 DRftHTO X+FVtM-13
520 NEXT P
525 IF R+G+B+¥L+BL=25 THEN 1800
530 NO=NO+liGOTQ 311
76 • GAMES FOR YOUR ATARI COMPUTER
1909
1010
1020
1 030
1040
1050
1 060
4,9,2
1070
1088
1 080
1100
1110
1130
1140
1150
1160
1170
2000
2010
£020
2030
2040
2050
2055
2060
2065
2070
2080
2080
2100
2110
2120
2130
FOR 6=205 TO 5 STEP -5
FOR F-6-3 TO 6+3
SOUND 8,P,10,15
NEXT P
POKE 704 , < I NT< RND< 6 >£ 1 5 >t 1 6 >+8
NEXT 6
GRfiPH I OS 8 : SETCOLOR 2,8,2: SETCOLOR
POSITION 4,12
? "WELL DONE YOU 50LUED THE PUZZLE"
POSITION 4,13
POKE 752,1
-- II -.'.- -.'.- -.'.• -.V -.".- -.'.- -.V -.■.- -.».■ -.'.- -.».- -.'.--.».• -.*.- -.V -.'.- -J.- -.'.- -.'.- -.'.- •/.- -.'.- -.».- -.>.- -.'.- -A- -.'.- -.'.- ■}.- -.».- -.».- 1 1
'. ■ Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y' -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y- -Y-
PQR p=8 TO 255
SOUND O,P,10,15
NEXT P
SOUND 0,0,0,0
END
FOR 8=@ TO 256
SOUND 0,6,10,15
POKE 704,6--"2
NEXT 6
SOUND 0,0,0,0: POKE 704 , 1 2
GRAPHICS 0:POKE 752,1
POSITION 10, 12: POKE 710,3*16+4
? "BOD LUCK - TRV fi6r-!lN"
POSITION 10,13
FOR P=0 TO 2000 STEP 20
SOUND 0,P,10,15:NEXT P
SOUND 0,0,0,0
? "VOU HAD ";25-N0;" LEFT TO FILL"
END
BLUEGREEN
REDYELLOW.
STRING
PATTERN
This short, simple program produces lovely patterns and
sounds.
26 REP1 :«
BV PAUL BUNN 1983
39 REP1 tt%t$&&ttt*t%
40 GRAPHICS 8+16:SETC0L0R 2j0#£
45 COLOR l:SETCOLOR 1,0,14
50 FOR X=0 TO 131 STEP 18
60 PLOT 64#191-X
70 DRflWTO X+64#0
SO PLOT l31-X+64#8
90 DRflWTO 19i+64,i91-X
100 PLOT 64, X
110 DRflWTO X+64,191
120 PLOT 191+64, X
130 DRflWTO 191-X+64,191
140 NEXT X
145 FOR P=0 TO 14 STEP 0.2
150 SETCOLOR 1,0, P
155 SOUND 0,P*40,i0,15
160 NEXT P:60T0 145
77
SOUND
PROGRAM
(Keyboard)
This short and interesting program will produce piano-like
sounds, remember notes and then play them back when you
press the "ESC" key.
78
SOUND PROGRAM • 79
nc\ i
RUbRfir
■i'kj hel ! v- : ; : - rHUL. bUNTi : ; : -¥-
56 GRAPHICS @
by bETuuLuR 2 # 8 * @ « SETCOLOR 4jo»M
\ kj I KhP 1 fc*0
98 DIPl T< 500 >
100 OPEN #1 ,4j6j "«! "
105
FERE
L£*6 ' '"NOTES. TU KLMF PLftYED bHL' l: -
i. j. 1J w! : fft In 1 I L. ' 4.
115 IF H=27 THEN 160
-• ! tr - i
140 SOUND 8«ftjl0jX:NEXT X
150 GOTO 110
160 ? CHR$< 125)
170 ? "MHftl
180 GET #1j
[90 M=fi-4g!
200 FOR ,J—1
210 S=T<J>
220 FOR X=15 TO STEP -1
230 SOUND 0*3* 10*X: NEXT X
n H/t i riLi'i i offl
235 FOR 8=1
240 NEX1
250 END
j i
1 0*< fi-1 >: NEXT G
l f
r
rri
DISPLAY LIST
INTERRUPT
EXAMPLE
This program demonstrates just a little of what a DLI can do. I
suggest you SAVE the program before attempting to RUN it,
since it is written entirely in machine code.
2@ RED &$ Display List interrupt :?::?:
30 REFI tt example ti
40 RED &t Written by Paul Burin :o:
zr :-i r . r- m -.».■-.'.■-.».- •.'.- -.'.- -.».- -.'.- -A- -.'.- -.'.--.•.- -.'.- -.>.- -.'.- -.'.. -.'.• -.'.- -.'.- ..'.- -.•.- -.».- -.=.- -.».- -.•.- -.v -.«.- -.<.- -.'.• -.'.-
■j kj P:!z.!i •■;•■ •■;-• •■;-• ••;■• -v- -v- -v- •"■ •-• -v- -v- ••;•• -v- -v- •"■ -v- -v- •>•• -v- •"• -v- -v- -v- •"■ ••;■■ -v- -v- ■•;•■ ••;-•
60 S08UB 1006
70 X=!JSR< 1536)
iHHfi FOR m= 1536 TO 163h:REQD B:POKE Q,B:
NEXT fi
1 oy l UHIH ltuil b # i C'd j o , i j ( , bo ijji bo j dd , i
57, 68, 3, lb"9, 6, 157, 69,. i, 169,12,157,74,^,1
69,0,157
1002 DhTH_75,3,32,86,228, 173, 48j.2, 133,20
3, 173,49, ll, 133,204, lt'.0,0, 177,20J,2til ,15,
240,6,209,192
1 003 DflTfl , 208 , 245 , 76 , 63 , 6 , 1 69 , 1 43 , 1 45 ,
203, 76, 4S, 6, 1 69, 81, 141, 6,2, 169, 6, 14i, 1,2
,169,192
1004 DHTfi 141,14,212,76,78,6,72,173,11,2
6,208,104,64,83
1005 DftTfi 58
1006 RETURN
HO
REACTION
TIMER
(Two joysticks)
This is a short program for two players and is very simple to
play. When you see a dot on the screen press the fire button.
The first player to do this wins a point. The first player to get
10 points wins the game. This program tests reflexes.
19 REPI *■% REACTION TlflER tt
29 REH tt BV P.BUNN , NOUEHBER ISSItt
39 REH
31 Din A*<39>,B$<39>
32 ? "PLOVER l'S NAP1E "a INPUT A$
33 ? "PLflVER 2'S NONE "*: INPUT B*
40 GRAPHICS 5
45 SETCOLOR 2,3,4
50 fl= i HT( RND< )#290 >+200
60 FOR L=l TO A
70 IF STRIG-: 9>=9 THEN GOTO 1898
80 IF STRIG'::i>=0 THEN GOTO 2000
90 NEXT L
1 00 COLOR I NT-: RND< 9 )*3 )+ 1
1 1 fi=RND< O )*79 : B=RND< 9 >£39
120 PLOT R,B
130 fl=0
140 A=A+1
150 IF STRIG<9>=9 THEN 3099
169 IF STRI6C 1 >=9 THEN 4999
179 GOTO 149
1900 GRAPHICS 0:? "CHERT! VOU PRESSED TH
E BUTTON TO SOON" :SC2=SC2+1 : GOTO 5999
2000 GRAPHICS 0!? "CHEAT! VOU PRESSED TH
E BUTTON TO SOON" :SC1=SC 1+1 : GOTO 5999
81
82 • GAMES FOR YOUR ATARI COMPUTER
3@00 GRAPHICS 0=? R*;" WINS! WITH A T
I HE OF : - " i (V 1 00 : SC 1 =SC 1 + 1= IF
SC1>=L0 THEN 6000
3005 GOTO 5000
4000 GRAPHICS 0:? B*;" WINS! WITH A T
I HE OF:- "iH.--100:SC2=SC2+l:I
F SC2>=10 THEN 7000
4005 GOTO 5000
5000 ? !? !? :?
5005 ? " ======»
5010 7" " SCORES"
5020 ? " ======"
5O30 PRINT : PRINT
5040 ? ftti" " *B$
5050 ? "
5060 ':"
5O70 ? SCI;"
";SC2
"PRESS 'FIRE BUTTON' WHEN R
5088 '■' : '■''
EADV"
5O90 IF STRIG':0X>0 THEN 5090
5100 FOR
6000 ?
6005 ?
7000 ?
7005 ?
L=l TO 190: NEXT l_:G0T0 40
:? ft$i" WINS THE SAflE ! !
END
:? Bti" WINS THE GATE ! !
END
MORSE CODE
Just type any sentence when prompted, and the program
will convert it into Morse code; you will hear the Morse
code through the television speaker.
I.U REH *tZt*t**t%*%**ZJ&*ttt%%t%Kll{%
28 REH * HORSE CODE CONVERTER BV *
39 REF1 * P.BUNN & J. VINCENT t
46 REH Jfc^m^imJmttS^mSJmSSSttS*:
50 GRAPHICS O
60 SETCOLOR 2#8»0:SETCOLOR 4,3,0
70 DL=PEEK< 560 H25G#PEEK< 561 >+4
80 POKE DL+2,7:P0KE DL+3,7
90 POSITION 0,1
LOO ? "HORSE CODE CONVERTER";
110 ? "*^»^:^«»*;r«««^"
120 ? :? :? "TVPE IN PlESSflGE VOU WANT TO
HEAR :-"
1.30 DIP1 H$< 100:j,B$<5>
140 SOUND 0,0,0,0: TRfiP 140: INPUT h$
L50 FOR X=l TO LEN<fl*>
155 IF ft$'::X,K>=" " THEN FOR P=l TO 100s N
EXT p:NEXT X
160 v=HSC<:i : i* : <x,x>>-e5
L70 RESTORE V+IOOO
ISO B*= u ":REfiD B*
L90 FOR 2=1 TO LEN<B*>
200 I F B$< 2 , 2 >= " . " THEN SOUND , 30 , 1 , 1 5
:FOR P=l TO 20: NEXT P: SOUND 0,0,0,0
210 IF B$< 2,2 :>="-" THEN SOUND 0,30,10,15
:FOR P=l TO 50: NEXT P: SOUND 0,0,0,0
220 FOR P=l TO 20: NEXT P
£30 NEXT 2
240 NEXT X
250 RUN
1000 DfiTfl .-
1.001 DfiTfi -...
83
84 • GAMES FOR YOUR ATARI COMPUTER
1002
1903
1004
L005
1006
1007
1008
1009
1010
L011
1012
1013
1014
L015
1016
1017
1018
L019
1020
1021
1022
L023
1024
L025
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
~
DOT DA
Ih
"
DOT
COMPLIMENT
GENERATOR
Feeling depressed? Just RUN this program, and increase
your self-esteem immediately.
L8 REN tt COflPLiriENT GENERATOR tt
20 Din H$(15).B$(15)
39 fi=INKRND< t>*i9>
4@ B=INTCRNDa>^7>
50 RESTORE 1000+fi
60 READ A$
r0 RESTORE 2980+B
80 READ B*
90 ? mi" "iB$
95 fi=INT'::RHD(0>*16::':SETCOLOR 2,0,4: SETCO
LOR 4,0,4
96 FOR F=l TO 300: NEXT F
100 RUN
LOO© DOT A BRILLIANT
1001 DATA LOUELV
L0O2 DATA GREAT
1063 DATA CLEUER
L004 DATA INTELLIGENT
1005 DATA NICE
L006 DATA WISE
1007 DATA BEAUTIFUL
1008 DATA CHARP1ING
1009 DATA SP1ART
2000 DATA PERSON
2001 DATA CHARP1ER
2002 DATA GENIUS
2003 DATA INDIVIDUAL
2004 DATA OPERATOR
2005 DATA HERO
2006 DATA ACE
85
SPACE
DOCKER
(Joystick)
This is one of the best programs in the book. It uses four
players and a machine code routine to move them. No
movement is done in BASIC, as it is too slow.
Battling with alien invaders in some distant galaxy, your
ship suddenly takes a direct hit. You enter the tiny escape
shuttle with your crew, blast off, and race toward the mother
ship where safety is assured. Your air supply, however, is
rapidly running out: you have only 300 units left. Your
mission, using the joystick in Port 1, is to dock with the
mother ship before the supply expires completely.
You use the joystick button to thrust, pushing it left or
right to steer the shuttle toward the mother ship. When you
succeed in docking with the mother ship, the number of air
units you have left will be added to your score.
Anyone interested in the machine code routine I have
used will find the assembly listing after the BASIC listing.
O
86
SPACE DOCKER • 87
LO REPI :m:m:m:m:m:m:m£#£:m:ac
20 REPI t SPACE DOCKER BV P.BUNN & *
30 REPI t JONATHAN UINCENT t
40 REPI :m##:m*:m;m:m:*$£:mJtttt#
50 SOSUB 19000: REH « INITIALIZATION **
60 SOSUB 20006
65 SOUND 0,0,3, 15: POKE 53273, R: AIR=30©
70 X=USR< 1536 >
SO IF PEEK<781+R*256:j=24 THEN 1090
90 IF PEEKC 53254 >< >0 OR PEEKC 53262 >< >0 T
HEN GOTO 2000
LOO HlR=fiIR-l:IF AIRO0 THEN 70
110 POSITION 4,6:? "out. of air":SC=0
L15 POKE 53251,0
120 FOR P=0 TO 4000 STEP 12
L30 SOUND 0,P,10,15:NEXT P
140 SOUND 0,0,0,0
L50 POSITION 4,6:? "press START"
1 55 POS I T I ON 4,4:? " sc ore : " ,- SC
L60 POKE 53279,0
170 IF PEEKC 53273 K >6 THEN 160
L30 POSITION 4,6:? " ":60SUB 1
0100: GOTO 65
1 000 IF PEEK-: 203 >>PEEK< 203!) AND PEEK* 209
>< PEEKX 204 > THEN 1020
L010 GOTO 2000
L02O
POSITION 4,6:? "
docked"
1025
POKE 53251
,0
L03O
FOR P=230
TO 10
STEP -10
1040
FOR X=P-5
TO P+5
L050
SOUND 0,Xi
.10,15
1060
NEXT X
L070
SETCOLOR 1
,RND<0
>*16,10
1080
NEXT P
L030
SOUND 0,0i
.0,0
LI 00
R
LI 10
POSITION 21,4:?
" rzma i n i i
^9
air: "
SC=SC+flIR:
GOTO 150
20A0
FOR P=781
TO 896
:IF PEEK*
:r$
256+P
24 THEN NEXT P
2005
POKE 5325 J
.,6
;AI
88 • GAMES FOR YOUR ATARI COMPUTER
2910 E=53770:POKE P+256*R+RNO<0>*8,PEEK<
E)
2920 SOUND 0,PEEK<E>,3,15:POKE 796,PEEK<
E>
2030
2035
2040
10000
3=S+l:IF S<50 THEN 2010
POKE 53250,0: POKE 53251,0
S=0:SC=S:GOTO 140
GRAPH I CS O : DL=PEEK< 560 H256*PEEK< 5
615+4: POKE 32,0
10010 POKE DL+5,7:P0KE DL+6,6:P0KE DL+7,
6:P0KE DL+8,G:P0KE DL+9,6
10020 SETCOLOR 4,3,4: 3ETC0L0R 1,3, 4: POKE
DL+10,6
L0O30 SETCOLOR 3,3,3: SETCOLOR 1,13,13
10040 POSITION 0,4: POKE 752,1
? " SPfiCE DOCKER ";
? " you are losing air ";
? " and P1UST dock with ";
? " the pass i ng mother " j
? " ship GOOD LUCK! %
R=PEEK< 1 06 >-8: RESTORE
FOR P=R*256+512 TO R#256+1024
POKE P,0:NEXT P
FOR P=10 TO 17
REfiD fi,B
R#256+512+P,H
RS256+643+P,B
P
7,224,62, 124, 1 1 1 ,246
255,255,214,107
124,62,60,60,4,32
10050
10055
L0063
10070
10080
10090
10100
10110
10120
10130
L0140
10150
10160
10170
19130
10190
10200
10210
10220
10230
10240
10250
10260
10270
10233
10293
POKE
POKE
NEXT
DfiTfi
DfiTfi
DfiTfi
FOR P=0 TO 7
READ fi
POKE R*256+768+80+P,fl
NEXT P
DfiTfi 24,63,36,60,36,126,30,255
FOR F-0 TO 6
REfiD fi
POKE R#256+896+88+P,fi
NEXT P
SPACE DOCKER • 89
L9300 7 CHR$< 125 >: COLOR 160: PLOT 0,20: DR
AWTO 39,20:? CHR$U60 ): POSITION 0,8
10318 POKE 704,8*16
10320 POKE 705, 8* 16
10330 POKE 706,15X16+10
10340 POKE 707,3*16+4
10350 POKE 53277,3
10360 POKE 559,46
10370 POKE 53248,110
10380 POKE 53249,126
10390 POKE 53250,108
10400 POKE 53256,1
10418 POKE 53257,1
10420 POKE 53258,1
10430 POKE 53259,1
10440 POKE 623,1
10450 POKE 54279, R
10460 DATA 24,60,126,255,255,0,6
10470 POKE 203, HO: POKE 204,126
10480 POKE 208, INK RNDU>*2>+1: POKE 209,
108
10485 K=R*256+768:P0KE 206,INT<K^256>:PO
KE 205 , K-<: 256*PEEK< 206 > )
10490 RETURN
20000 FOR A=1536 TO 1676: READ B.'POKE P,B
:NEXT A
20001 DATA 104,165,208,201,1,240,17,230,
283,230,204, 165,204,201 ,200,208,21 , 169, 1
,133,208,76,38,6,198
20002 DATA 203,198,204,165,203,201,50,29
8,4, 169,2, 133,208, 165,283, 141 ,0,208, 165,
204, 141 , 1 ,208, 173, 120
28803 DATA 2,201,11,248,10,173,120,2,201
,7,240,8,76,72,6,198,209,76,72,6,238,209
,165,209,141
20004 DATA 2,208,173,132,2,201,0,240,11,
169,0,141,3,208,141,0,210,76,127,6,173,1
0,210,141,195
20005 DATA 2,165,209,141,3,208,169,138,1
41,0,218,160,0,177,205,136,145,205,200,2
90, 192,0,208,245,76
28006 DATA 140,6,160,0,177,205,209,145,2
05,136,136,192,0,208,245,96
90 • GAMES FOR YOUR ATARI COMPUTER
26007
RETURN
10 t
=$600
20 ;fl
SSEP1BLV ROUTINE
30 iS
PACE DOCKER HRI
40 H0R1=$CB
56 H0R2=$CC
60 LF
=$D0
70 H0R3=$D1
80 PLfi
90 LDA LF
1 00
CP1P #1
0110
BEG! RIGHT
0120
LEFT INC H0R1
0130
INC H0R2
0140
LDfl H0R2
0150
crip #200
0160
BNE Nl
0170
LDfl #1
0130
STfl LF
0190
JrTP Nl
0200
RIGHT DEC H0R1
0210
DEC H0R2
0220
LDfl H0R1
0230
crip #50
0240
BNE Nl
0250
LDfl #2
0260
STfl LF
0270
Nl LDfl H0R1
0280
STfl 53248
0296
LDfl H0R2
0300
STfl 53249
0310
STICK LDfl $278
0320
crip #11
0330
BEG! L
0340
LDfl $273
0350
CHIP #7
0360
BEG! R
0370
JHP N2
0330
L DEC H0R3
0390
JP1P N2
0400
R INC H0R3
USED IN
TTEN BV PAUL BUNH
FOR ADVANCED PROGRAM-
MERS
Starting at line 10 (above) is the
assembly-language version of
the routine that runs from line
2000 to 2007. This is just to give
you the opportunity to look over
my shoulder and see the
process of communicating
directly with the CPU. Don't type
this into your computer, it will
only give you all sorts of weird
error messages.
SPACE DOCKER • 91
0410
N2 LDfl H0R3
0420
STfl 53250
0430
LDH $284
0440
CP1F #0
0450
6EQ ON
0460
LDH #0
O470
STfl 53251
0480
STfl *D200
0490
JP1P N4
0500
DM LDfl 53776
0510
STfl 707
0520
LDfl H0R3
0530
STfl 53251
0540
LDfl #130
0550
STfl $D206
0560
LDV #0
0570
AG1 LDfl <$CD>,V
0580
DEV
0590
STfl <*CO),Y
0600
I NY
0610
INY
0620
CPY #0
0630
BNE flGl
0640
JP1P N5
0650
N4 LDY #0
0660
A62 LDfl '::$CD>,V
0670
INY
0680
STfl <*CD>,V
O690
DEV
0700
DEY
0710
CPY #0 ^
0720
BNE AG2 ^
0730
N5 RTS ^^
SKI RUN
(Joystick)
Notes for typing the program in:
1. Type exactly what is listed.
2. SAVE the program on cassette or disk before you RUN
the program.
3. The program is designed for an Atari 400/800 with at
least 16K memory, with or without DOS loaded in.
4. If you have a 16K machine, when you RUN it the screen
will flash funny colors — this is normal and will stop
shortly.
5. When you are about to play Ski Run, switch the compu-
ter OFF/ON. LOAD the program in and then RUN. The
program will take a few seconds to RUN after the
command. Press START for the game to commence.
If you follow the above rules, you will find yourself with a
very good, 100% machine code game — quality you would
expect from very expensive software.
Use your joystick, plugged into Port 1, to move your skier
left or right. To score points run over the blue flags; avoid
the trees at all costs. If you are skillful enough to complete a
round, you will advance to the next level which means you
go to a higher mountain with steeper slopes, and your skier
moves faster. The game ends when your skier crashes into a
tree. Press START to relieve his frustration.
\
r
92
SKI RUN • 93
1.8 REM ** SKI RUN BY PAUL DUNNING U
26 REP1
30 REI'1 Hake sure you SPUE this program
40 REPl before you attempt to run it !
45 RED
50 GOSUB 1000
60 GOSUB 2000
70 GOSUB 3000
80 GOSUB 400U
90 X=USRa663>
LO00 FOR A=1536 TO 1646 ."READ B:POKE A,B:
NEXT H
LO01 DATA 112,112,112,70*0*60,7,0,6,6,11
8,217,35,54,54,54,54,54,54,54,54,54,54,5
4,54
1002 DATA 54,54,54,54,54,54,54,54,65,0,6
,0,24,24,24,24,60,60,60,60,60,60,126,126
,126
L003 DATA 126,126,126,255,255,255,255,25
5,255,255,255, 126, 126,24,24,24,24,24,0,2
55 ,255 ,255 ,255 ,255 ,255
1804 DATA 255,255,192,132,132,132,192,18
2,192,192,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0
1005 DATA 0,7,31,127,31,7,1,1,1,0,0
L006 RETURN
2000 FOR A= 13568 TO 14636: READ B:POKE A,
B:NEXT A
2001 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2002 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2003 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2004 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2005 DATA 0,0,0,101,110,100,0,111,102,0,
114,111,117,110,100,0,0,0,0,0,0,0,0,0,0
2006 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2007 DATA 0,0,110,101,120,116,0,114,111,
117,110,100,0,0,0,0,0,0,0,0,0,0,0,0,0
2008 DATA 0,99,111,109,105,110,103,0,0,1
17,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0
94 • GAMES FOR YOUR ATARI COMPUTER
2069 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2010 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2011 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2012 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2013 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0, 0,0, 0,0, 0,0, 0,0,0
2014 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2015 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2016 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2017 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2018 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2019 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2020 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2021 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,8,0,0,0,0,0,0,0,0
2022 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2823 DfiTfi 8,8,y,0,0,y,0,0,0,0,0,fi,0,0,0,
0,0,0,0,0,0,0,0,0,0
2024 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2025 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2026 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
202? DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2023 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2023 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2030 DfiTfi 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
SKI RUN • 95
2031 DATA 0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,
0,0,0,0,0,8,0,0,0,0
2832 DOTH 0,51,43,41,0,50,53,46,0,0,0,0,
8,0,8,0,0,0,0,51,35,47,50,37,8
2033 DATA 16,16,16,16,16,0,8,0,0,0,8,0,0
,0,0,8,8,8,8,8,8,8,8,8,8
2834 DATA 0,0,0,0,63,63,63,63,63,63,63,6
3, 63, 63, G;3, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63
2035 DATA 63,63,63,0,0,0,0,0,0,8,0,0,8,0
,8,8,8,8,8,8,8,8,8,8,8
2836 DPTA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,8,8,8,8,8
2837 DATA 0,0,0,0,8,8,8,8,8,0,8,0,0,0,0,
0,8,8,8,8,8,8,8,8,8
2838 DATA 8,8,8,8,8,0,0,0,0,8,8,0,0,0,0,
0,0,0,0,8,8,0,8,0,8
2833 DATA 0,0,8,8,8,8,8,8,0,0,0,8,8,8,0,
8,8,8,8,8,8,8,8,0,0
2040 DATA 0,8,8,8,8,8,0,8,8,0,8,0,0,0,0,
0,0,0,0,0,0,0,0,0,0
2041 DATA 0,0,0,0,8,8,8,0,0,0,0,0,0,8,8,
8,8,8,8,8,8,8,0,0,36
2842 DATA 36,36,36,36,36,36,36,36,36,36,
36,36,36,36,36,8,8,8,8,8,8,8,8,8,8
2843 DATA 8,8,8,8,8,8,8,8,8,8,129,129,12
9,98, 98 , 98 , 68 , 68 , 68
2844 RETURN
3800 FOR A=14848 TO 15475: READ B:POKE A,
B:NEXT A
3001 DATA 169,175,141,1,210,169,0,141,11
,6,169,32,141,12,6,169,14,141,200,2,169,
200,141,196,2
3802 DATA 169,32,133,213,169,128,141,197
,2,162,6,169,8,157,8,29,282,208,248,168,
6,185,0,224,153
3003 DATA 0,56,185,0,225,153,8,57,185,0,
226,153,0,58,185,0,227,153,0,59,136,208,
229,169,32
3004 DATA 133,208,162,16,160,0,169,0,145
,207, 136, i±88, 249, 230, 288, 202, 288, 242, 169
,56,141,244,2,160,88
3005 OATH 135,37,6,153,8,56,136,208,247,
169,0,141,48,2,169,6,141,49,2,166,213,17
3,10,210,133
96 • GAMES FOR YOUR ATARI COMPUTER
3«06 DATA 205,173,10,210,41,14,9,32,133,
206, 169, 1 , 160,0, 145,205, 160,24, 169,2,145
,205,160,48,169
300? DATA 3,145,205,160,72,169,4,145,205
,202,208,215,162,32,173,10,210,133,205,1
7'3, 10, 210, 41, 14, 9
3008 DATA 32,133,206,160,0,177,205,201,0
,208,234, 169,73, 145,205,202,208,227, 162,
8,169,0,157,0,32
3009 DATA 202,208,248,32,131,9,32,17,10,
160,0,140,5,212,32,32,9,152,72,104,168,1
73, 120,2,201
3010 DATA 7,240,26,201,11,240,3,76,14,9,
165,212,201,56,240,29,198,212,165,212,14
1,0,208,141,1
3011 DATA 208,76,14,9,165,212,201,192,24
0,10,230,212,165,212,141,0,208,141,1,208
,173,4,203,201,0
3012 DATA 240,3,32,235,3,200,192,8,208,1
82,76,52,9,152,72,160,24,162,0,202,208,2
53,169,0,141
3013 DATA 0,210,136,208,243,104,168,96,1
73,11,6,24,105,24,141,11,6,173,12,6,105,
9,141,12,6
3014 DATA 173,12,6,201,45,240,3,76,209,8
,169,0,169,0,141,11,6,169,27,141,12,6,17
3,35,9
3015 DATA 201,7,240,3,206,35,9,162,0,138
,72,32,32,9, 104, 170,202,208,246, 141 , 1 1 ,6
,169,32,141
3016 DATA 12,6,165,213,24,105,10,133,213
,76,44,8,169,58,141,192,2,169,0,141,193,
2,169,128,141
3017 DATA 0,208,133,212,169,128,141,1,20
8,169,0,141,2,208,141,3,208,141,4,208,14
1,5,208,141,6
3018 DATA 208,141,7,208,169,3,141,29,203
,169, 48, 141, 7, 212, 169, 62, 141, 4,-', 2, 162,0,
169,0,157,0
3019 DATA 52,157,0,53,202,208,245,162,1?
,189,0,31 ,157, 128,53,202,208,247, 162, 17,
189,32,31,157,128
3020 DATA 52,202,208,247,162,96,183,0,30
, 157,255,59,202,208,247,96, 173,4,208,201
,2,240,16,173,31
"
SKI RUN • 97
3021 DfiTfi 208,201,6,208,243,163,255,141,
30,208,76,8,8,72,32,17,10,169,1,141,30,2
08,173,18,210
3822 DflTfi 141,0,210,36,32,101,18,238,4,2
3,173,4,23,201,10,240,1,36,163,0,141,4,2
9,238,3
3823 DflTfi 23,173,3,23,201,10,240,1,36,16
3,0,141,3,23,238,2,23,173,2,23,201,10,24
0,1,36
3024 DflTft 163,8,141,2,23,238,1,23,173,1,
23,201,10,240,1,36,163,0,141,1,23,238,0,
23,173
3825 DflTfi 0,23,201,10,240,1,36,163,0,141
,0,23,0,162,5,183,255,28,24,185,16,157,3
0,60,202
3026 DfiTfi 208,244,36
3827 RETURN
4000 FOR fi=1663 TO 1738:REfiO B:POKE fi,B:
NEXT fl
4001 DfiTfi 184,163,0,133,203,163,53,133,2
84, 160,0, 132,205, 163,27, 133,206, 177,203,
1 45 , 205 , 208 , 208 , 243 , 238 , 284
4802 DflTfi 230,206,165,206,201,32,288,239
, 163,8, 133,203, 133,205, 163,58, 133,284, 16
3,8,133,206,177,203,145
4083 DfiTfi 205,200,208,243,238,204,230,20
6, 165,204,201 ,61 ,208,233, 163,8, 133, 12, 16
9,8,133,13,76,0,8
4885 RETURN
How to Write
Better
Programs
By Tim Hartnell, series editor
There are a number of fine programs in this book, and many
of the regular computer magazines contain others. But no
matter how good the programs from published sources are,
you are certain to get more pleasure from running them if
they have been partially or completely written by you.
Putting your personal stamp on programs, altering them to
reflect your wishes and creativity, is an excellent way to
improve the programs, and eventually, of course, you'll
become a better and more imaginative programmer.
Programs in magazines, and in books like this one, are
ideal as starting points for your own developments. You may
also find that advertisements for software packages can be
fruitful "idea-starters". You only need to read the descrip-
tion of what the commercially available program does, and
you will have the first step toward creating your own
program. You have to be careful, of course, not to infringe
copyright either in the screen displays, in the name of the
program, or the names of the "characters" within the pro-
gram. However, you will probably find that at a certain point
in its development the program will take on a life of its own,
growing and evolving away from the original scenario, until
you eventually have a completely new game concept and
implementation.
Whatever you do, be careful not to pass off other people's
work as your own. By all means adapt and improve pub-
100 • GAMES FOR YOUR ATARI COMPUTER
lished programs, but do not then present them to magazines
as if they were originals. I have lost count of the number of
times one of my own programs, from one of my books, has
been submitted to me for publication.
Always watch out for new ideas as you look through
books, game and computer magazines, or wander through
video game arcades. It may be worth keeping notes of ideas
you come across for games, for character shapes, for
sounds, for dramatic endings and so on. Thus you will never
be short of ideas, and you will also be able to merge the
material together to produce better games which hold the
player's attention for longer.
Games tend to fall into one of three categories, and it is
worth making sure of the category into which your proposed
program will fall before you start to program, since the
category of game materially alters the programming ap-
proach. This is not to say that, as you develop a program, it
will not move from one category into another, nor that a
particular game might not extend across two categories, but
it is nevertheless useful to keep the various groups separate
in your mind, just to clarify your thoughts. The three catego-
ries are:
1. Board games
2. "Arcade" (that is, highly visual, fast moving, noisy, real
time) games
3. Games of chance (such as Roulette and Snap).
In board games, the quality of play is more important than
lightning-fast response, while the arcade-type programs
must be kept moving at all costs, even if some "intelligence"
from your Martian intruders must be sacrificed to achieve
this. Games of chance depend more on their ease of play
("user-friendly" inputs), and an approach to true random-
ness, than do either of the other categories.
You will find that games programs tend to fall into types,
which are subdivisions of the three above mentioned cate-
gories. Many board games are variants of chess or checkers;
many arcade games started off life as Space Invader-type
HOW TO WRITE BETTER PROGRAMS • 101
games; and games of chance started off in the "real world"
of dice and cards. Looking at a program description, or a
games machine, and trying to categorize the game you see
can help trigger new ideas which fit within that particular
game's genre.
There is a school of thought within programming — gener-
ally called "structured programming" — which believes that
discipline at the beginning of the games-writing process is
essential. While less interesting than sitting down at the
computer right away, a much better program is produced in
the end. I once wrote a program called Dome Dweller, a
simulation program in which the player is in charge of a
"lunar dome" and must decide which products to manufac-
ture and sell in order to buy oxygen and food for the station's
inhabitants. (This program was used in my book The Book of
Listings, written with Jeremy Ruston, and published by the
BBC.) Once I had decided the overall scenario, I worked out
the screen display, and came up with an idea as follows:
Oxygen supplies are low
There are 96 people living within your dome in year 3
Money credit is $5,693
Annual maintenance charge is $226
Oxygen tanks hold 811 units
Oxygen costs $8 per unit
Each dome dweller needs 5 units a year
Food stocks stand at 2122
Each dweller needs 3 units a year ($6 each, $576 for dome.
This will last 7 years at present population.)
You can trade your unique lunar sculptures with the
people who live in other domes. You use up 2 units of
oxygen making each one, and sell them for $30.
As you can probably guess from this "sample printout",
the idea of the program is to decide how many "unique lunar
sculptures" you must make and sell in order to buy oxygen
and food, and to pay the "annual maintenance" charge. The
problem with this particular program is that making each
sculpture uses up oxygen, so you must balance your wish to
102 • GAMES FOR YOUR ATARI COMPUTER
make money against the need to use the oxygen intelli-
gently.
You may well wish to try writing such a program yourself.
You should end up with an enjoyable program, and writing it
will do much to help you develop your programming skills.
The first thing to do is to make a list of what the program has
to do:
Set up the needed variables
Tell the player the "state of the dome"
Ask how much oxygen to be bought
Check if can afford this, if so buy it, if not go back and ask
again
Ask how much food to be bought
Check if can afford this, if so buy it, if not go back and ask
again
Update oxygen quantity
Update food quantity
Reduce money left total
Ask how many items of sculpture to be made
Check if there is enough oxygen to make this many, if not
go back and ask again
Reduce oxygen quantity by amount needed to make the
number of sculptures specified, increase money total to
reflect value of sculptures made
Increase the population total slightly, add one to the
"current year"
Check if there is enough food in stocks to feed whole
population
Check if there is enough oxygen for whole population
Check if there is any money
If any of these conditions are negative (e.g. not enough
food) send action to an "end of game" routine
If all are positive, loop back to tell the player the state of
the dome, and continue to circle
You could probably write a Dome Dweller program using
the list above, together with the "sample printout" informa-
tion. There is, however, a secret I should like to share with
"
HOW TO WRITE BETTER PROGRAMS • 103
you which unlocks programming problems almost instantly.
You can actually write all the vital parts of a program in
minutes, so you can see the raw framework of a program like
this running long before you fill in the details. And once you
have a framework you can work on it for as long as you like,
knowing as you do so that — at every moment in program
development — you have a working program. You do not
have to wait until the end until you can run it to see how you
are going. The secret is to hold the entire program within a
series of subroutine calls, all held within a perpetual loop.
Here's how it could work with this program. The very first
lines you enter in your computer are as follows:
10 REM DOME DWELLER
20 GOSUB 1000: REM ASSIGN VARIABLES
30 GOSUB 2000: REM PRINT OUT STATE OF DOME
40 GOSUB 3000: REM OXYGEN
50 GOSUB 4000: REM FOOD
60 GOSUB 5000: REM SCULPTURE
70 GOSUB 6000: REM UPDATE POPULATION
80 GOSUB 7000: REM CHECK ON STATE OF DOME
90 IF (all conditions positive, from GOSUB 7000) THEN
GOTO 30
100 REM End of game . . .
As you can see once you have the master loop set up in
this way, it is relatively simple to fill in each of the subrou-
tines one by one, testing each as you do so, and elaborating
each one so that you end up eventually with a very good
program. The only thing you need now is a list of the
variables which you will use with the program.
I find the best way to do this is to use explicit names for
variables so that when you are programming you do not have
to spend time checking, for example, whether AA stands for
the population, or the number of units of oxygen used up in
making each item of sculpture. To make programs as easy as
possible to transfer between different computers you can
stick to two letter variable names, or you can take advantage
(if your computer allows it) of long names (such as OXYUSE
104 • GAMES FOR YOUR ATARI COMPUTER
for the amount of oxygen used) for variables. Then you have
no doubts whatsoever as to the meaning of each variable
name. To show how this can work, and to illustrate a further
advantage of explicit variable names, here are the variables
used in Dome Dweller:
FOLK — population of dome
CASH — money in treasury
FOOD — food stocks on hand
FOODCOST — how much each unit of food costs
FOODNEED — how many units of food were consumed per
person per year
ARTCOST — how much oxygen was used up making each
piece of sculpture
ARTPAY — how many dollars each piece of sculpture was
sold for
OXY — oxygen stocks on hand
OXYNEED — how many units of oxygen were consumed
per person per year
OXYCOST — how much each unit of oxygen cost to buy
REPAIR — the cost of annual repairs to the dome
YEAR — the year of the dome's life
Using explicit variable names in this way — although they
use up more memory than single or double-letter variable
names — makes it very simple to follow through a program,
working out what each section of the program actually does.
Moreover, and this is the further advantage mentioned, it is
very easy when writing the program to insert the formula
required for calculations. By this I mean that if, for example,
you wished to include (as I do in this program) an indication
of how much oxygen is needed for each year, you simply
multiply the number of people in the dome (FOLK) by the
number of oxygen units each person needs each year (OXY-
NEED). You can then include within the printouts for the
state of the dome a line like:
PRINT "THERE ARE"; FOLK; "IN THE DOME"
PRINT "IN YEAR"; YEAR
PRINT "EACH PERSON NEEDS"; OXYNEED; "UNITS OF"
HOW TO WRITE BETTER PROGRAMS • 105
PRINT "OXYGEN EACH YEAR,";
OXYNEED*FOLK;" NEEDED"
PRINT "FOR THE WHOLE DOME"
It also makes it very easy to check on whether purchases are
possible. For example, to buy food, you could say:
PRINT "HOW MUCH FOOD WILL YOU BUY?"
INPUT A
IF A*FOODCOST ) CASH THEN GOTO (get another A)
So the suggestions given here for improving your pro-
grams by the use of "structured programming" include the
following:
— draw up a sample printout, or mock-up of the final
screen display
— draw up a list of what the program has to do each time
through a "master control loop"
— change this list to a series of subroutine calls
— use explicit variable names if possible
It is useful if you are designing programs for others to use
to ensure that it is quite clear what the player should do
when running the program. There is little point, especially
when memory is limited, in including a long set of instruc-
tions within the program, but you should certainly write
such instructions down. In addition, user prompts should be
explicit (such as ENTER THE NUMBER OF GOES YOU WANT)
and should include warnings of the limits which will be
placed on the input (HOW MANY CARDS WILL YOU START
WITH: 1, 2 OR 3?, for instance).
You cannot assume that you will be present every time a
program is run, so you should do your best to make it as
foolproof as possible. If you can, add error-trapping rou-
tines to the program to ensure that a mistake in entering a
choice earlier on in the program will not cause it to crash or
come up with stupid results later on.
106 • GAMES FOR YOUR ATARI COMPUTER
If you read through this section of the book several times
and try to apply the ideas to your own programming work,
you should find your work quality improves significantly,
and also that you can spend more time improving and
embellishing a program and less in the raw mechanical task
of getting the thing running.
GLOSSARY
Accumulator — the place within the computer in which
arithmetic computations are performed and where the
results of these computations are stored.
Algorithm — the series of steps the computer follows to solve
a particular problem.
Alphanumeric — this term is usually used in relation to a
keyboard, as in "it is an alphanumeric keyboard", which
means that the keyboard has letters as well as numbers. It
is also used to refer to the "character set" of the computer.
The character set comprises the numbers and letters the
computer can print on the screen.
ALU (Arithmetic/Logic Unit) — the part of the computer which
does arithmetic (such as addition, subtraction) and where
decisions are made.
AND — a Boolean logic operation that the computer uses in
its decision-making process. It is based on Boolean alge-
bra, a system developed by mathematician George Boole
(1815-64). In Boolean algebra the variables of an expres-
sion represent a logical operation such as OR and NOR.
ASCII — stands for American Standard Code for Information
Exchange, the most widely used encoding system for
English language alphanumerics. There are 128 upper and
lower case letters, digits and some special characters.
ASCII converts the symbols and control instructions into
seven-bit binary combinations.
Assembler — a program which converts other programs writ-
ten in assembly language into machine code (which the
computer can understand directly). Assembly language is
a low level programming language which uses easily mem-
107
108 • GAMES FOR YOUR ATARI COMPUTER
orized combinations of two or three letters to represent a
particular instruction which the assembler then converts
so the machine can understand it. Examples of these are
ADD(add), and SUB (subtract). A computer programmed
in assembly language tends to work more quickly than one
programmed in a higher level language such as BASIC.
B
BASIC — an acronym for Beginners All-Purpose Symbolic In-
struction Code. It is the most widely used computer
language in the microcomputer field. Although it has been
criticized by many people, it has the virtue of being very
easy to learn. A great number of BASIC statements resem-
ble ordinary English.
Baud — named after Baudot, a pioneer of telegraphic com-
munications. Baud measures the rate of transfer of infor-
mation and is approximately equal to one bit per second.
BCD — an abbreviation for Binary Coded Decimal.
Benchmark — a test against which certain functions of the
computer can be measured. There are a number of so-
called "standard Benchmark tests," but generally these
only test speed. This is rarely the aspect of a microcompu-
ter that is of most interest to the potential buyer.
Binary — a numbering system that uses only zeros and ones.
Bit — an abbreviation for Binary Digit. This is the smallest unit
of information a computer circuit can recognize.
Boolean Algebra — the system of algebra developed by mathe-
matician George Boole which uses algebraic notation to
express logical relationships (see AND).
Bootstrap — a short program or routine which is read into the
computer when it is first turned on. It orients the compu-
ter to accept the longer, following program.
Bug — an error in a computer program which stops the pro-
gram from running properly. Although it is generally used
to mean only a fault or an error in a program, the term bug
can also be used for a fault in the computer hardware.
GLOSSARY • 109
Bus — a number of conductors used for transmitting signals
such as data instructions, or power in and out of a compu-
ter.
Byte — a group of binary digits which make up a computer
word. Eight is the most usual number of bits in a byte.
CAI — Computer Assisted Instruction.
CAL — Computer Assisted Learning. The term is generally
used to describe programs which involve the learner with
the learning process.
Chip — the general term for the entire circuit which is etched
onto a small piece of silicon. The chip is, of course, at the
heart of the microcomputer.
Clock — the timing device within the computer that syn-
chronizes its operations.
COBOL — a high level language derived from the words
Common Business Orientated Language. COBOL is de-
signed primarily for filing and record-keeping.
Comparator — a device which compares two things and pro-
duces a signal related to the difference between the two.
Compiler — a computer program that converts high level
programming language into binary machine code so the
computer can handle it.
Complement — a number which is derived from another ac-
cording to specified rules.
Computer — a device with three main abilities or functions:
1) to accept data
2) to solve problems
3) to supply results
CPU — stands for Central Processing Unit. This is the heart of
the computer's intelligence, where data is handled and
instructions are carried out.
Cursor — a character which appears on the TV screen when
the computer is operating. It shows where the next char-
acter will be printed. On a computer there are usually
110 • GAMES FOR YOUR ATARI COMPUTER
"cursor control keys" to allow the user to move the cursor
around the screen.
D
Data — information in a form which the computer can pro-
cess.
Debug — the general term for going through a program and
correcting any errors in it, that is, chasing down and
removing bugs (see Bug).
Digital Computer — a computer which operates on informa-
tion which is in a discrete form.
Disk/Disc — this is a magnetically sensitized plastic disk, a
little smaller than a single play record. This is used for
storing programs and for obtaining data. Disks are consid-
erably faster to load than a cassette of the same length
program. The disk can be searched very quickly while a
program is running for additional data.
Display — the visual output of the computer, generally on a
TV or monitor screen.
Dot Matrix Printer — a printer which prints either the listing of
a program or that which is displayed on the TV screen.
Each letter and character is made up of a number of dots.
The higher the number of dots per character the finer the
resolution of the printer.
Dynamic Memory — a memory unit within the computer
which "forgets" its contents when the power is turned off.
Editor — this term is generally used for the routine within the
computer which allows you to change lines of a program
while you are writing it.
EPROM — stands for Erasable Programmable Read-Only
Memory. This is like the ROM in the computer, except that
it is fairly easy to load material into an EPROM and it
doesn't disappear when you turn the power off. EPROMs
GLOSSARY -111
must be placed in a strong ultra violet light to erase them.
Error Messages — the information given by a computer where
there is a fault in the coding during a part of a program,
usually shown by the computer stopping, and printing a
word, or a word and numbers, or a combination of num-
bers only, at the bottom of the screen. This tells you what
mistake has been made. Common mistakes include using
the letter O instead of zero in aline, or leaving out a pair of
brackets, or one of the brackets, in an expression, or
failing to define a variable.
File — a collection of related items of information organized
in a systematic way.
Floppy Disk — -a relatively cheap form of magnetic disk used
for storing computer information, and so named because
it is quite flexible (see Disk/Disc).
Flow Chart — a diagram drawn up before writing a program,
in which the main operations are enclosed within rectan-
gles or other shapes and connected by lines, with arrows
to represent loops, and decisions written at the branches.
It makes writing a program much easier because traps
such as infinite loops, or non-defined variables can be
caught at an early stage. It may not be worth writing a flow
chart for very short programs, but generally a flow chart
aids in creating programs.
Firmware — there are three kinds of "ware" in computers:
software "temporary" programs; hardware like the ROM
which contains permanent information; and firmware in
which the information is relatively permanent, as in an
EPROM(seeEPROM).
Flip-Flop — a circuit which maintains one electrical condition
until changed to the opposite condition by an input signal.
FORTRAN — an acronym for FORmula TRANslation, this is a
high-level, problem orientated computer language for
scientific and mathematical use.
112 • GAMES FOR YOUR ATARI COMPUTER
Gate — an electrical circuit which, although it may accept one
or more incoming signals, only sends out a single signal.
Graphics — pictorial information as opposed to letters and
numbers.
H
Hard Copy — computer output which is in permanent form.
Hardware — the physical parts of the computer (also see
software and firmware).
Hexadecimal (Hex) — a numbering system to the base sixteen.
The digits zero to nine are used, as well as the letters A, B,
C, D, E and F to represent numbers. A equals 10, B equals
11, C equals 12, and so on. Hex is often used by micropro-
cessor users.
Hex Pad — a keyboard designed specifically for entering hex-
adecimal notation.
High Level Language — a programming language which allows
the user to talk to the computer more or less in English. In
general, the higher the level of the language (that is, the
closer it is to English), the longer it takes for the computer
to translate it into a language it can use. Lower level
languages are far more difficult for human operators but
are generally executed far more quickly.
I
Input — the information fed into the computer via a key-
board, a microphone, a cassette or a disk.
Input/Output (I/O Device) — a device which accepts informa-
tion or instructions from the outside world, relays it to the
computer, and then, after processing, sends the informa-
tion out in a form suitable for storing, or in a form which
could be understood by a human being.
GLOSSARY -113
Instruction — data which directs a single step in the process-
ing of information by the computer (also known as a
command).
Integrated Circuit — a complete electronic circuit imprinted
on a semiconductor surface.
Interface — the boundary between the computer and a pe-
ripheral such as a printer.
Interpreter — a program which translates the high level lan-
guage fed in by the human operator, into a language
which the machine can understand.
Inverter — a logic gate that changes the signal being fed in, to
the opposite one.
Interactive Routine — part of a program which is repeated
over and over again until a specified condition is reached.
J
Jump Instruction — an instruction which tells the computer to
go to another part of the program, when the destination of
this move depends on the result of a calculation just
performed.
K
K — this relates to the size of the memory. Memory is usually
measured in 4K blocks. 1K contains 1,024 bytes.
Keyword — the trigger word in a line of programming, usually
the first word after the line number. Keywords include
STOP, PRINT and GOTO.
Language — computer languages are divided into three sec-
tions: high level languages, such as BASIC, which are
reasonably close to English and fairly easy for humans to
use; low level languages, such as Assembler, that use
114 • GAMES FOR YOUR ATARI COMPUTER
short phrases which have some connection with English
(ADD for add and RET for return, for instance); and
machine code which communicates more or less directly
with the machine.
LCD — this stands for Liquid Crystal Diode. Some computers
such as the TRS-80 Pocket Computer use an LCD display.
LED — this stands for Light Emitting Diode. The bright red
numbers which are often used on watch or clock displays
are made up of LEDs.
Logic — the mathematical form of a study of relationships
between events.
Loop — a sequence of instructions within a program which is
performed over and over again until a particular condition
is satisfied.
M
Machine Language or Machine Code — an operation code
which can be understood and acted upon directly by the
computer.
Magnetic Disk — see Disk and Floppy Disk.
Mainframe — computers are generally divided into three
groups, and the group a computer falls into depends more
or less on its size. The TS-1000 you are using is a micro-
computer; medium sized computers are known as mini-
computers; and the giant computers that you sometimes
see in science fiction movies are mainframe computers.
Until 15 years ago mainframe computers were, in practical
terms, the only ones available.
Memory — there are two types of memory within a computer.
The first is called ROM (read-only memory); this is the
memory that comes already programmed on the compu-
ter, which tells the computer how to make decisions and
how to carry out arithmetic operations. This memory is
unaffected when you turn the computer off. The second
type is RAM (random access memory). This memory holds
the program you type in at the keyboard or send in via a
GLOSSARY -115
cassette or disk. In most computers the computer "for-
gets" what is in RAM when you turn the power off.
Microprocessor — the heart of any computer. It requires pe-
ripheral unit interfaces, such as a power supply and input
and output devices, to act as a microcomputer.
MODEM — stands for Modulator Demodulator. This is a de-
vice which allows two computers to talk to each other over
the telephone. The computers usually use a cradle in
which a telephone receiver is placed.
Monitor — this has two meanings in computer terms. One
meaning is a television-like display. A monitor has no
facility for tuning television programs, and usually the
picture produced on a monitor is superior to that pro-
duced by an ordinary television. The second meaning of a
monitor relates to ROM. The monitor of a computer is
described as the information it has built in when you buy
it. This information allows it to make decisions and carry
out arithmetic computations.
Motherboard — a framework to which extra circuits can be
added. These extra circuits often give the computer facili-
ties which are not built-in, such as that of producing sound
or of controlling a light pen.
MPU — an abbreviation for Microprocessor Unit.
N
Nano-second — a nano-second is one thousand billionth of a
second, the unit of speed in which a computer or a
memory chip is often rated.
Non-Volatile Memory — memory which is not lost when the
computer is turned off. Some of the smaller computers
such as the TRS-80 Pocket Computer have non-volatile
memory. The batteries hold the program you enter for
several hundred hours.
Not — a Boolean logic operation that changes a binary digit
into its opposite.
116 • GAMES FOR YOUR ATARI COMPUTER
Null String— a string which contains no characters. It is
shown in the program as two double quote marks, without
anything between them.
Numeric — pertaining to numbers as opposed to letters (that
is, alphabetic). Many keyboards are described as being
alphanumeric which means both numbers and letters are
provided.
o
Octal — a numbering system which uses eight as the base,
and the digits 0, 1, 2, 3, 4, 5, 6 and 7. The Octal system is
not used very much nowadays in microcomputer fields.
The Hexadecimal system is more common (see Hexadeci-
mal).
Operating System — the software or firmware generally pro-
vided with the machine that allows you to run other
programs.
OR — an arithmetic operation that returns a 1, if one or more
inputs are 1.
Oracle — a method of sending text messages with a broadcast
television signal. A teletext set is required to decode the
messages.
Output — information or data fed out by the computer to
such devices as a TV-like screen, a printer or a cassette
tape. The output usually consists of the information which
the computer has produced as a result of running a
program.
Overflow — a number too large or too small for the computer
to handle.
Pad — see Keypad.
Page — often used to refer to the amount of information
needed to fill one TV screen, so you can talk about seeing
a page of a program, the amount of the listing that will
appear on the screen at one time.
GLOSSARY -117
PASCAL — a high level language.
Peripheral — anything which is hooked onto a computer, for
control by the computer, such as a disk unit, a printer or a
voice synthesizer.
Port — a socket through which information can be fed out of
or in to a computer.
Prestel — the British telecom name for a system of calling up
pages of information from a central computer via the
telephone and displaying them on a television screen. A
similar commercial version in the United States is known
as The Source.
Program — in computer terms program has two meanings.
One is the list of instructions that you feed into a compu-
ter, and the second is used as a verb; as in "to program a
computer."
PROM — stands for Programmable Read Only Memory. This
is a device which can be programmed, and once it is then
the program is permanent (see also EPROM and ROM).
Random Access Memory (RAM) — the memory within a com-
puter which can be changed at will by the person using the
computer. The contents of RAM are usually lost when a
computer is turned off. RAM is the memory device that
stores the program that you type in and also stores the
results of calculations in progress.
Read-Only Memory (ROM) — in contrast to RAM, information
in ROM cannot be changed by the user of the computer,
and the information is not lost when the computer is
turned off. The data in ROM is put there by the manufac-
turers and tells the computer how to make decisions and
how to carry out arithmetic computations. The size of
ROM and RAM is given in the unit K (see K).
Recursion — the continuous repetition of a part of the pro-
gram.
Register — a specific place in the memory where one or more
computer words are stored during operations.
118 • GAMES FOR YOUR ATARI COMPUTER
Reserved Word — a word that you cannot use for a variable in
a program because the computer will read it as something
else. An example is the word TO. Because TO has a
specific computer meaning, most computers will reject it
as a name for a variable. The same goes for words like
FOR, GOTO and STOP.
Routine — this word can be used as a synonym for program,
or can refer to a specific section within a program (see also
Subroutine).
Second Generation — this has two meanings. The first applies _
to computers using transistors, as opposed to first genera-
tion computers which used valves. Second generation can
also mean the second copy of a particular program; subse-
quent generations are degraded by more and more noise.
Semiconductor — a material that is usually an electrical insula-
tor but under specific conditions can become a conductor.
Serial — information which is stored or sent in a sequence, — -
one bit at a time.
Signal — an electrical pulse which is a conveyor of data.
Silicon Valley — the popular name given to the area in Califor-
nia where many semiconductor manufacturers are lo-
cated.
SNOBOL — a high level language.
Software — the program which is entered into the computer
by a user which tells the computer what to do.
Software Compatible — this refers to two different computers
which can accept programs written for the other. _
Static Memory — a non-volatile memory device which retains
information so long as the power is turned on, but does
not require additional boosts of power to keep the mem-
ory in place.
Subroutine — part of a program which is often accessed many
times during the execution of the main program. A sub-
routine ends with an instruction to go back to the line after —
the one which sent it to the subroutine.
GLOSSARY -119
Teletext — information transmitted in the top section of a
broadcast television picture. It requires a special set to
decode it to fill the screen with text information. Teletext
messages can be transmitted by cable or over phone lines.
Examples of this are the Prestel service in Britain and The
Source in the United States.
Teletype — a device like a typewriter which can send informa-
tion and also receive and print it.
Terminal — a unit independent of the central processing unit.
It generally consists of a keyboard and a cathode ray
display.
Time Sharing — a process by which a number of users may
have access to a large computer which switches rapidly
from one user to another in sequence, so each user is
under the impression that he or she is the sole user of the
computer at that time.
Truth Table — a mathematical table which lists all the possible
results of a Boolean logic operation, showing the results
you get from various combinations of inputs.
u
UHF— Ultra High Frequency (300-3000 megaHertz).
Ultra Violet Erasing — Ultra violet light must be used to erase
EPROMs (see EPROM).
Variable — a letter or combination of letters and symbols
which the computer can assign to a value or a word during
the run of a program.
VDU — an abbreviation for Visual Display Unit.
Volatile — refers to memory which "forgets" its contents
when the power is turned off.
120 • GAMES FOR YOUR ATARI COMPUTER
w
Word — a group of characters, or a series of binary digits,
which represent a unit of information and occupy a single
storage location. The computer processes a word as a
single instruction.
Word Processor — a highly intelligent typewriter which allows
the typist to manipulate text, to move it around, to justify
margins and to shift whole paragraphs if necessary on a
screen before outputting the information onto a printer.
Word processors usually have memories, so that standard
letters and the text of letters, written earlier, can be
stored.
BIBLIOGRAPHY
Compiled by Tim Hartnell
The A to Z Book of Computer Games (Mclntire, Thomas C,
Tab Books, Blue Ridge Summit, Pa.).
This is a fine Tab book to give you program ideas and
ready-to-run programs, although some of the games are a
disappointment, such as the overly long Othello program
which does not even play, but simply records the moves
made by two human players. Others, however, such as
Fivecard and Hotshot, are well written, and well worth
entering into your microcomputer.
BASIC Computer Games (ed. Ahl, David, Creative Computing
Press, Morristown, New Jersey).
This is a classic work, the source of more programming
ideas than any other computer games book ever pub-
lished. I had a meal with David Ahl one night in London
after a PCW show and discussed the book. He said that
he'd been in the personal computer field almost before
there were personal computers, and while many of the
games in this book do not seem startling now, the fact that
people could write and play games for computer interac-
tion at all seemed quite incredible in the late seventies.
The Checkers program and Life for Two are just a couple of
the treasures you will find in this splendid program and
idea source book.
BASIC Computer Programs for the Home (Sternberg, Charles
D., Hayden Book Company, Inc., Rochelle Park, New Jersey).
Traditionally, home computers (when first purchased)
121
122 • GAMES FOR YOUR ATARI COMPUTER
have been used for playing games. One reason why they
have not been used for more serious applications stems
from the lack of a readily available, comprehensive set of
home applications programs that were easy to use and
understand and that satisfied the practical requirements of
the home. This book provides a set of programs to make
your computer start earning its keep. The programs pro-
vide a good cross-section of practical applications; these
have been designed so as not to rely upon the availability
of tape or disk-storage devices. The programs cover a wide
field, and are divided into a number of sections: home
financial programs (including household expenses and
income tax recording); car related programs (including
fuel use and trip planning); "Kitchen Helpmates" (includ-
ing diet and meal planning programs); scheduling pro-
grams for home use (including a reminder calendar and a
couple of programs which I imagine are designed to short
circuit arguments about which television programs will be
watched); and "List programs for every purpose" (includ-
ing Christmas cards, music collections and three versions
of an address program).
The BASIC Handbook (Lien, David A., Compusoft Publishing,
San Diego, California).
This is an encyclopedia of the BASIC language. Now that
BASIC is so firmly established throughout the microcom-
puter world, it is necessary to make its many dialects
understandable so that programs can be transported be-
tween different computers. When you have found exactly
the program you've been looking for, it is very frustrating
to be unable to run it on your computer. This book
addresses that problem by discussing in detail just about
every commonly used BASIC statement, function, opera-
tor and command. For the most part, BASIC words mean
the same thing to every computer which recognizes them.
If a computer does not possess the capabilities of a
needed or specified word, there are often ways to accom-
plish the same function by using another word, or combi-
nation of words. Although the handbook requires some
BIBLIOGRAPHY • 123
application to transform the information into usable form,
it is a very valuable reference work indeed. Every BASIC
word you have ever heard of (and many you may not have
heard of, such as LE, NE, GOTO-OF, RES and TIME) is
probably in the book. It may be of limited use to you in
your early days of computing, but it should become an
indispensable handbook once you get more involved in
the subject.
Beat the Odds, Microcomputer Simulations of Casino Games
(Sagan, Hans, Hayden Book Company, Inc., Rochelle Park,
New jersey).
The book explains how to play certain casino games
(trente-et-quarante, roulette, chemin-de-fer, craps and
blackjack) and gives complete program listings in BASIC
with commentaries on systems and optimal strategies.
Professor Sagan (Professor of Mathematics at North Caro-
lina State University) says he wrote the book in an attempt
to convince people that, in the long run, they could not
win — except possibly at blackjack — and to explain some
popular systems and their pitfalls, and above all to provide
very realistic computer simulations of the games them-
selves. He has succeeded in his attempt. The listings are
possibly longer than other computer versions of the same
games, but this is because the Sagan versions strictly
duplicate the odds involved in playing the game "in real
life", and cover all the eventualities that a real game can
produce. The programs are well-structured, and an exami-
nation of the listings should give you ideas for improving
your own programming.
The Calculator Game Book for Kids of All Ages (Hartman,
Arlene, Signet Books, New York).
The book's title says it all, and the names of the games
(which include Fibonacci Follies, Stretch to Sixty and
Casting Out 9s) suggest the book's contents. There are
some worthwhile brain-stretching puzzles, and 15 or so
ideas definitely calling for conversion to computer games.
33 Challenging Computer Games for TRS-80/Apple/PET
(Chance, David, Tab Books, Blue Ridge Summit, Pa.).
124 • GAMES FOR YOUR ATARI COMPUTER
Even if you don't have any of the three computers named
in the title, you will still find the book a goldmine of ideas
for your own development, and many of them will run,
with minimal alteration, on any BASIC-using computer.
Particularly commendable programs are Life Support,
Scrambled Eggs and Tank Assault.
Communicating with Microcomputers (Witten, Ian H., Aca-
demic Press, London).
This is an introduction to the technology of man/computer
communications for the non-specialist. By placing particu-
lar emphasis on low-cost techniques associated with small
systems and personal computers, the reader's attention is
focused on the positive nature of the "microprocessor
revolution" — how machines can help people — rather than
the negative aspects which are often highlighted in the
non-technical press. The level of the book is suitable for
the layman with some acquaintance with electronics. The
final section, on speech communication, provides the
most fascinating reading.
Computer Games for Businesses, Schools and Homes (Nahi-
gian, J. Victor and Hodges, William S., Winthrop Publishers
Inc., Cambridge, Mass.).
Some of the programs are a little thin for the size and price
of the book, but the best ones are well worth adapting to
run on your computer. The inclusion of long, clear sample
run printouts ensures that you know exactly what the
programs will do before you run them. The Tennis and Star
Trek programs are especially good.
Games for Home, Travel and Parties (Jensen, Helen, Western
Publishing Company Inc., Racine, Wisconsin).
Aimed squarely at children, this book gives some games
which are simple to program (these include Snakes, Lift-
off and Fish), and contains a complete chapter on how to
play chess.
Home Computers, Questions and Answers, Hardware (Didday,
Rich, dilithium Press).
The book has two main purposes. First, it is intended to
BIBLIOGRAPHY • 125
give readers a real feeling for what is involved in home
computing, so that they can make rational decisions be-
fore buying equipment. Second, it is intended to give
people who have no specialized knowledge of computing
a general background to the subject, and specifically to
microcomputers. The book succeeds in imparting enough
information to ensure you will have little trouble under-
standing articles about advanced projects in computer
hobby magazines, advertisements for home computing
equipment, or other people who do have advanced com-
puter knowledge.
Inside BASIC Games (Mateosian, Richard, Sybex).
This book is a guide, albeit a slightly overwritten one, for
anyone who wishes to understand computer games. You
will learn how to write interactive programs in BASIC and
how the principles of systems development are applied to
small computers. The book also looks at how the features
of specific small computer systems have been supported
in BASIC. The sections of the book include: Arithmetic
Games, Guessing Games, Time Games, Date Games, Tax-
man, and programming in "Free BASIC": a structured
BASIC that is translated manually into the actual BASIC
instructions to be entered into the computer. Free BASIC
is not a language; it is a program description medium (like
flow charts) that has no line numbers, and uses symbolic
names for subroutines. Additional chapters look at The
Match-Up Game, Craps and Alien Life. If you can contend
with the verbiage, you will find this book well worthwhile.
An Introduction to Personal and Business Computing (Zaks,
Rodnay, Sybex).
I had lunch with Rodnay in London during a PCW show
and he told me that he thought current American predic-
tions on the growth of the personal computer field were
grossly pessimistic. He pointed out that the predictions
current in 1978, when he wrote this book, have been
proved so inaccurate that would-be prophets should take
warning and assume that whatever they say will be wrong
126 • GAMES FOR YOUR ATARI COMPUTER
by a factor of 10 or 100. Despite its age — and computer
books do age uncommonly quickly — this book is a good
introduction to the field, explaining in clear, snappy En-
glish the fundamentals of computer operation. Dr. Zaks
also gives suggestions on what to look for when buying a
computer.
Microsoft BASIC (Knecht, Ken, dilithium Press, Forest Grove,
Oregon).
This book presents a complete introduction to program-
ming in Microsoft BASIC. The concepts presented are
illustrated with short, working programs. By starting with
the simplest and most commonly used commands, and
then progressing on to the more complex BASIC com-
mands, Mr. Knecht shows how the more powerful ver-
sions of the language can save valuable programming time
and effort.
57 Practical Programs and Games in BASIC (Tracton, Ken, Tab
Books, Blue Ridge Summit, Pa.).
There are more serious programs than games (of the Chi-
Square Evaluation and Fibonacci Numbers variety) in this
book. They are well programmed, and supported by ade-
quate (if brief) documentation, and by flow charts. The
Space Wars programs (versions one and two) at the end of
the book are particularly good.
Problems for Computer Solution (Rogowski, Stephen J., Crea-
tive Computing Press, Morristown, New Jersey).
This outlines over 50 simple (and a few not-so-simple)
problems which can be solved by writing a program. There
are both teacher and student editions of this book; the
teacher edition has a suggested program and sample run
printout to solve the difficulty. It is an excellent source for
educational ideas.
Stimulating Simulations (Engel, C. W., Hayden Book Com-
pany, Inc., New Jersey).
Here, according to the cover, are "12 unique programs in
BASIC for the computer hobbyist." Inside you will find
some fascinating programs: Forest Fire, Rare Birds and
BIBLIOGRAPHY • 127
The Devil's Dungeon are three you are sure to enjoy
playing, while Diamond Thief (the computer decides who
has committed the crime, then challenges you to discover
which of the suspects is guilty) is both well written and
tightly programmed.
TAKE TWO! 32 Board Games for 2 Players (Tapson, Frank, A &
C Black, London).
This book is aimed at children, but it does give many
fascinating ideas that could be transformed into computer
games (even if some of them are duplicated elsewhere in
the book).
24 Tested, Ready-to-Run Game Programs in BASIC (Tracton,
Ken, Tab Books, Blue Ridge Summit, Pa.).
Tab Books are prolific publishers in the microcomputer
program field, and their books are deservedly successful.
If nothing else, reading a book such as this one will give
you ideas for structuring programs neatly, and for writing
them to ensure the maximum compatibility between dif-
ferent versions of BASIC. Many of the games, such as Auto
Rally and Capture the Alien, are (despite their weak titles)
well thought out, carefully constructed programs.
1001 Things to Do with Your Personal Computer (Sawush,
Mark, Tab Books, Blue Ridge Summit, Pa.).
I bought this book at a computer fair in Atlanta, and read it
(making notes, and turning down page corners) on the
flight to London. And I still hadn't finished it on arrival. If
you feel you have come to the end of possible applications
for your computer, buy this book and discover that you
have barely scratched the surface. It tells you about writ-
ing music and stories, aiding a mechanic or a carpenter,
solving simultaneous equations, astrology, and much,
much more.
The World Computer Chess Championship (Hayes, Jean E., and
Levy, David N. L., Edinburgh University Press, Edinburgh).
This is a fascinating account of the world's first machine
versus machine chess championship, held in 1974, when
the dozen or so computer programs taking part were the
128 • GAMES FOR YOUR ATARI COMPUTER
only chess programs in existence. The games are analyzed
in detail, and the final section of the book outlines a
board-numbering system which you could use if you're
considering writing your own chess program. The book
makes you realize how far the computer world has come
in only a few years.
r
r
r
r
r
r
r
r
i
r
r
r
r
ES
EXCITEMENT!
....Thrill to the challenge of
Take the ultimate risk with 5KYDIVER
GRAND PRIX II. ...Score
points for safety when you navigate a LUNAR LANDING
.... Swoop down the slopes without leaving your living room
with SKI RUN . . . . Straighten out your life with DECISION
MAKER . . . . Learn to use your computer's incredible color
range with COLOR PATTERN and COLOR PUZZLE . . . .
Create the music of the future with SOUND PROGRAM ,
and much, much more...
ENTERTAINMENT! ... More than 25 f ascinatingonginal
full-color programs, including arcade-style games, brain
teasers, word games, puzzles, and music written exclu-
sively for THE DELL COMPUTER GAMES SERIES and
guaranteed to give you endless hours of fun and thrilling
entertainment.
CHALLENGE!. .. Improve your computer-game skills.
Extend your programming expertise. Learn tricks and
techniques to apply to your programming as you follow
instructions to enter each game into your Atari Com-
puter Once you've mastered their present form, you're
the expert. Try your hand at improving them!
ORIGINAL GAME PROGRAMS •»* FUN FOR THE WHOLE FAMILY
COMPLETE WITH A GLOSSARY OF COMPUTER
TERMS, A SELECTIVE BIBLIOGRAPHY, AND HINTS
ON HOW TO IMPROVE AND EXTEND THE GAME
PROGRAMS THAT WILL ADD TO YOUR ALL-AROUND
PROGRAMMING EXPERTISE.
A Dell Trade Paperback/Dell Publishing Co., Inc.
"71009"0u595
ISBN D-44D-5EflOQ-3